From 93b492c7024fb5b20475aa7c5d91c2c84ed20bcd Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Mon, 2 Dec 2024 13:44:42 +0100 Subject: [PATCH 1/8] feat: update generated file --- README.md | 3 + cwl_v1_2.h | 1452 +++------------------------------------------------- 2 files changed, 73 insertions(+), 1382 deletions(-) diff --git a/README.md b/README.md index 1c60fe6..8b61e50 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,6 @@ It is a single header and can be copied into your own project for any usage. The usage can be seen in the [cwl_output_example.cpp](cwl_output_example.cpp) file, which show cases on how to describe your tools. Another short example of loading a CWL description file an be seen in [cwl_input_example.cpp](cwl_input_example.cpp). + +The generations was done by calling: +schema_salad --codegen cpp --codegen-spdx-copyright-text 'Copyright 2016-2024 CWL Project Contributors' --codegen-spdx-license-identifier Apache-2.0 -- ../cwl-v1.2/CommandLineTool-standalone.yml > generated-cwl.h diff --git a/cwl_v1_2.h b/cwl_v1_2.h index 5cf93f1..75eb22d 100644 --- a/cwl_v1_2.h +++ b/cwl_v1_2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2016-2023 CWL Project Contributors +// SPDX-FileCopyrightText: Copyright 2016-2024 CWL Project Contributors // SPDX-License-Identifier: Apache-2.0 #pragma once @@ -27,24 +27,18 @@ inline auto mergeYaml(YAML::Node n1, YAML::Node n2) { } // declaring toYaml -inline auto toYaml(bool v) { - return YAML::Node{v}; -} -inline auto toYaml(float v) { - return YAML::Node{v}; -} -inline auto toYaml(double v) { - return YAML::Node{v}; -} -inline auto toYaml(int32_t v) { - return YAML::Node{v}; -} -inline auto toYaml(int64_t v) { - return YAML::Node{v}; -} -inline auto toYaml(std::any const&) { - return YAML::Node{}; -} +inline auto toYaml(bool v) { return YAML::Node{v}; } +inline auto toYaml(float v) { return YAML::Node{v}; } +inline auto toYaml(double v) { return YAML::Node{v}; } +inline auto toYaml(char v) { return YAML::Node{v}; } +inline auto toYaml(int8_t v) { return YAML::Node{v}; } +inline auto toYaml(uint8_t v) { return YAML::Node{v}; } +inline auto toYaml(int16_t v) { return YAML::Node{v}; } +inline auto toYaml(uint16_t v) { return YAML::Node{v}; } +inline auto toYaml(int32_t v) { return YAML::Node{v}; } +inline auto toYaml(uint32_t v) { return YAML::Node{v}; } +inline auto toYaml(int64_t v) { return YAML::Node{v}; } +inline auto toYaml(uint64_t v) { return YAML::Node{v}; } inline auto toYaml(std::monostate const&) { return YAML::Node(YAML::NodeType::Undefined); } @@ -52,6 +46,33 @@ inline auto toYaml(std::string const& v) { return YAML::Node{v}; } +template +auto anyToYaml_impl(std::any const& a) { + if (auto v = std::any_cast(&a)) { + return toYaml(*v); + } + if constexpr (sizeof...(Args) > 0) { + return anyToYaml_impl(a); + } + return toYaml(std::monostate{}); +} + +inline auto toYaml(std::any const& a) { + return anyToYaml_impl(a); +} + // declaring fromYaml inline void fromYaml(YAML::Node const& n, bool& v) { v = n.as(); @@ -202,7 +223,7 @@ class heap_object { *data = std::forward(oth); } - ~heap_object() = default; + ~heap_object(); auto operator=(heap_object const& oth) -> heap_object& { *data = *oth; @@ -300,22 +321,6 @@ namespace https___w3id_org_cwl_cwl { struct WorkReuse; } namespace https___w3id_org_cwl_cwl { struct NetworkAccess; } namespace https___w3id_org_cwl_cwl { struct InplaceUpdateRequirement; } namespace https___w3id_org_cwl_cwl { struct ToolTimeLimit; } -namespace https___w3id_org_cwl_cwl { struct ExpressionToolOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct WorkflowInputParameter; } -namespace https___w3id_org_cwl_cwl { struct ExpressionTool; } -namespace https___w3id_org_cwl_cwl { struct WorkflowOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct Sink; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStepInput; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStepOutput; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStep; } -namespace https___w3id_org_cwl_cwl { struct Workflow; } -namespace https___w3id_org_cwl_cwl { struct SubworkflowFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct ScatterFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct MultipleInputFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct StepInputExpressionRequirement; } -namespace https___w3id_org_cwl_cwl { struct OperationInputParameter; } -namespace https___w3id_org_cwl_cwl { struct OperationOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct Operation; } namespace https___w3id_org_cwl_salad { enum class PrimitiveType : unsigned int { null, @@ -1205,301 +1210,6 @@ inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ToolTimeLimit_class } template <> struct IsConstant : std::true_type {}; -namespace https___w3id_org_cwl_cwl { -enum class ExpressionTool_class_ExpressionTool_class : unsigned int { - ExpressionTool -}; -inline auto to_string(ExpressionTool_class_ExpressionTool_class v) { - static auto m = std::vector { - "ExpressionTool" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { - static auto m = std::map> { - {"ExpressionTool", https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class::ExpressionTool}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class LinkMergeMethod : unsigned int { - merge_nested, - merge_flattened -}; -inline auto to_string(LinkMergeMethod v) { - static auto m = std::vector { - "merge_nested", - "merge_flattened" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { - static auto m = std::map> { - {"merge_nested", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_nested}, - {"merge_flattened", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_flattened}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::LinkMergeMethod v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class PickValueMethod : unsigned int { - first_non_null, - the_only_non_null, - all_non_null -}; -inline auto to_string(PickValueMethod v) { - static auto m = std::vector { - "first_non_null", - "the_only_non_null", - "all_non_null" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::PickValueMethod& out) { - static auto m = std::map> { - {"first_non_null", https___w3id_org_cwl_cwl::PickValueMethod::first_non_null}, - {"the_only_non_null", https___w3id_org_cwl_cwl::PickValueMethod::the_only_non_null}, - {"all_non_null", https___w3id_org_cwl_cwl::PickValueMethod::all_non_null}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::PickValueMethod v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::PickValueMethod& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class ScatterMethod : unsigned int { - dotproduct, - nested_crossproduct, - flat_crossproduct -}; -inline auto to_string(ScatterMethod v) { - static auto m = std::vector { - "dotproduct", - "nested_crossproduct", - "flat_crossproduct" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterMethod& out) { - static auto m = std::map> { - {"dotproduct", https___w3id_org_cwl_cwl::ScatterMethod::dotproduct}, - {"nested_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::nested_crossproduct}, - {"flat_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::flat_crossproduct}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterMethod v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterMethod& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class Workflow_class_Workflow_class : unsigned int { - Workflow -}; -inline auto to_string(Workflow_class_Workflow_class v) { - static auto m = std::vector { - "Workflow" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { - static auto m = std::map> { - {"Workflow", https___w3id_org_cwl_cwl::Workflow_class_Workflow_class::Workflow}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::Workflow_class_Workflow_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class : unsigned int { - SubworkflowFeatureRequirement -}; -inline auto to_string(SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v) { - static auto m = std::vector { - "SubworkflowFeatureRequirement" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { - static auto m = std::map> { - {"SubworkflowFeatureRequirement", https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class::SubworkflowFeatureRequirement}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class ScatterFeatureRequirement_class_ScatterFeatureRequirement_class : unsigned int { - ScatterFeatureRequirement -}; -inline auto to_string(ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v) { - static auto m = std::vector { - "ScatterFeatureRequirement" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { - static auto m = std::map> { - {"ScatterFeatureRequirement", https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class::ScatterFeatureRequirement}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class : unsigned int { - MultipleInputFeatureRequirement -}; -inline auto to_string(MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v) { - static auto m = std::vector { - "MultipleInputFeatureRequirement" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { - static auto m = std::map> { - {"MultipleInputFeatureRequirement", https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class::MultipleInputFeatureRequirement}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class StepInputExpressionRequirement_class_StepInputExpressionRequirement_class : unsigned int { - StepInputExpressionRequirement -}; -inline auto to_string(StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v) { - static auto m = std::vector { - "StepInputExpressionRequirement" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { - static auto m = std::map> { - {"StepInputExpressionRequirement", https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class::StepInputExpressionRequirement}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - -namespace https___w3id_org_cwl_cwl { -enum class Operation_class_Operation_class : unsigned int { - Operation -}; -inline auto to_string(Operation_class_Operation_class v) { - static auto m = std::vector { - "Operation" - }; - using U = std::underlying_type_t; - return m.at(static_cast(v)); -} -} -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { - static auto m = std::map> { - {"Operation", https___w3id_org_cwl_cwl::Operation_class_Operation_class::Operation}, - }; - auto iter = m.find(v); - if (iter == m.end()) throw bool{}; - out = iter->second; -} -inline auto toYaml(https___w3id_org_cwl_cwl::Operation_class_Operation_class v) { - return YAML::Node{std::string{to_string(v)}}; -} -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { - to_enum(n.as(), out); -} -template <> struct IsConstant : std::true_type {}; - namespace https___w3id_org_cwl_salad { struct Documented { heap_object>> doc; @@ -1829,10 +1539,10 @@ struct Process : https___w3id_org_cwl_cwl::Identified , https___w3id_org_cwl_cwl::Labeled , https___w3id_org_cwl_salad::Documented { - heap_object>> inputs; - heap_object>> outputs; - heap_object>>> requirements; - heap_object>>> hints; + heap_object>> inputs; + heap_object>> outputs; + heap_object>>> requirements; + heap_object>>> hints; heap_object> cwlVersion; heap_object>> intent; virtual ~Process() = 0; @@ -2081,8 +1791,8 @@ struct CommandLineTool { heap_object>> doc; heap_object> inputs; heap_object> outputs; - heap_object>>> requirements; - heap_object>>> hints; + heap_object>>> requirements; + heap_object>>> hints; heap_object> cwlVersion; heap_object>> intent; heap_object class_; @@ -2243,233 +1953,33 @@ struct ToolTimeLimit }; } -namespace https___w3id_org_cwl_cwl { -struct ExpressionToolOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { - heap_object>>> type; - ~ExpressionToolOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct WorkflowInputParameter - : https___w3id_org_cwl_cwl::InputParameter { - heap_object>>> type; - heap_object> inputBinding; - ~WorkflowInputParameter() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} +template +heap_object::~heap_object() = default; -namespace https___w3id_org_cwl_cwl { -struct ExpressionTool { - heap_object> id; - heap_object> label; - heap_object>> doc; - heap_object> inputs; - heap_object> outputs; - heap_object>>> requirements; - heap_object>>> hints; - heap_object> cwlVersion; - heap_object>> intent; - heap_object class_; - heap_object expression; - virtual ~ExpressionTool() = default; - virtual auto toYaml() const -> YAML::Node; - virtual void fromYaml(YAML::Node const& n); -}; +inline https___w3id_org_cwl_salad::Documented::~Documented() = default; +inline auto https___w3id_org_cwl_salad::Documented::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "doc", toYaml(*doc)); + return n; } - -namespace https___w3id_org_cwl_cwl { -struct WorkflowOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { - heap_object>> outputSource; - heap_object> linkMerge; - heap_object> pickValue; - heap_object>>> type; - ~WorkflowOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; +inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["doc"], *doc); } - -namespace https___w3id_org_cwl_cwl { -struct Sink { - heap_object>> source; - heap_object> linkMerge; - heap_object> pickValue; - virtual ~Sink() = 0; - virtual auto toYaml() const -> YAML::Node; - virtual void fromYaml(YAML::Node const& n); -}; +inline auto https___w3id_org_cwl_salad::RecordField::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); + addYamlField(n, "name", toYaml(*name)); + addYamlField(n, "type", toYaml(*type)); + return n; } - -namespace https___w3id_org_cwl_cwl { -struct WorkflowStepInput - : https___w3id_org_cwl_cwl::Identified - , https___w3id_org_cwl_cwl::Sink - , https___w3id_org_cwl_cwl::LoadContents - , https___w3id_org_cwl_cwl::Labeled { - heap_object> default_; - heap_object> valueFrom; - ~WorkflowStepInput() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct WorkflowStepOutput - : https___w3id_org_cwl_cwl::Identified { - ~WorkflowStepOutput() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct WorkflowStep - : https___w3id_org_cwl_cwl::Identified - , https___w3id_org_cwl_cwl::Labeled - , https___w3id_org_cwl_salad::Documented { - heap_object> in; - heap_object>> out; - heap_object>>> requirements; - heap_object>> hints; - heap_object> run; - heap_object> when; - heap_object>> scatter; - heap_object> scatterMethod; - ~WorkflowStep() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct Workflow { - heap_object> id; - heap_object> label; - heap_object>> doc; - heap_object> inputs; - heap_object> outputs; - heap_object>>> requirements; - heap_object>>> hints; - heap_object> cwlVersion; - heap_object>> intent; - heap_object class_; - heap_object> steps; - virtual ~Workflow() = default; - virtual auto toYaml() const -> YAML::Node; - virtual void fromYaml(YAML::Node const& n); -}; -} - -namespace https___w3id_org_cwl_cwl { -struct SubworkflowFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { - heap_object class_; - ~SubworkflowFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct ScatterFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { - heap_object class_; - ~ScatterFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct MultipleInputFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { - heap_object class_; - ~MultipleInputFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct StepInputExpressionRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { - heap_object class_; - ~StepInputExpressionRequirement() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct OperationInputParameter - : https___w3id_org_cwl_cwl::InputParameter { - heap_object>>> type; - ~OperationInputParameter() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct OperationOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { - heap_object>>> type; - ~OperationOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; - void fromYaml(YAML::Node const& n) override; -}; -} - -namespace https___w3id_org_cwl_cwl { -struct Operation { - heap_object> id; - heap_object> label; - heap_object>> doc; - heap_object> inputs; - heap_object> outputs; - heap_object>>> requirements; - heap_object>>> hints; - heap_object> cwlVersion; - heap_object>> intent; - heap_object class_; - virtual ~Operation() = default; - virtual auto toYaml() const -> YAML::Node; - virtual void fromYaml(YAML::Node const& n); -}; -} - -inline https___w3id_org_cwl_salad::Documented::~Documented() = default; -inline auto https___w3id_org_cwl_salad::Documented::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - return n; -} -inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); -} -inline auto https___w3id_org_cwl_salad::RecordField::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_salad::Documented::fromYaml(n); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); +inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_salad::Documented::fromYaml(n); + fromYaml(n["name"], *name); + fromYaml(n["type"], *type); } template <> @@ -5155,828 +4665,6 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["type"], *type); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ExpressionToolOutputParameter{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::WorkflowInputParameter::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); - return n; -} -inline void https___w3id_org_cwl_cwl::WorkflowInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); - fromYaml(n["type"], *type); - fromYaml(n["inputBinding"], *inputBinding); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowInputParameter{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["inputBinding"], *res.inputBinding); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::ExpressionTool::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "expression", toYaml(*expression)); - return n; -} -inline void https___w3id_org_cwl_cwl::ExpressionTool::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); - fromYaml(n["expression"], *expression); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ExpressionTool{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["id"], *res.id); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["label"], *res.label); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["doc"], *res.doc); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["inputs"], *res.inputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["outputs"], *res.outputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["requirements"], *res.requirements); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["hints"], *res.hints); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["cwlVersion"], *res.cwlVersion); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["intent"], *res.intent); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["expression"], *res.expression); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "outputSource", toYaml(*outputSource)); - addYamlField(n, "linkMerge", toYaml(*linkMerge)); - addYamlField(n, "pickValue", toYaml(*pickValue)); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_cwl::WorkflowOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["outputSource"], *outputSource); - fromYaml(n["linkMerge"], *linkMerge); - fromYaml(n["pickValue"], *pickValue); - fromYaml(n["type"], *type); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowOutputParameter{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["outputSource"], *res.outputSource); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["linkMerge"], *res.linkMerge); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["pickValue"], *res.pickValue); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline https___w3id_org_cwl_cwl::Sink::~Sink() = default; -inline auto https___w3id_org_cwl_cwl::Sink::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "source", toYaml(*source)); - addYamlField(n, "linkMerge", toYaml(*linkMerge)); - addYamlField(n, "pickValue", toYaml(*pickValue)); - return n; -} -inline void https___w3id_org_cwl_cwl::Sink::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["source"], *source); - fromYaml(n["linkMerge"], *linkMerge); - fromYaml(n["pickValue"], *pickValue); -} -inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Sink::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - addYamlField(n, "default", toYaml(*default_)); - addYamlField(n, "valueFrom", toYaml(*valueFrom)); - return n; -} -inline void https___w3id_org_cwl_cwl::WorkflowStepInput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); - https___w3id_org_cwl_cwl::Sink::fromYaml(n); - https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - fromYaml(n["default"], *default_); - fromYaml(n["valueFrom"], *valueFrom); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStepInput{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["default"], *res.default_); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["valueFrom"], *res.valueFrom); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::WorkflowStepOutput::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - return n; -} -inline void https___w3id_org_cwl_cwl::WorkflowStepOutput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStepOutput{}; - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "in", - convertListToMap(toYaml(*in), "id")); - addYamlField(n, "out", toYaml(*out)); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "run", toYaml(*run)); - addYamlField(n, "when", toYaml(*when)); - addYamlField(n, "scatter", toYaml(*scatter)); - addYamlField(n, "scatterMethod", toYaml(*scatterMethod)); - return n; -} -inline void https___w3id_org_cwl_cwl::WorkflowStep::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - https___w3id_org_cwl_salad::Documented::fromYaml(n); - - fromYaml(convertMapToList(n["in"], -"id"), *in); - fromYaml(n["out"], *out); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["run"], *run); - fromYaml(n["when"], *when); - fromYaml(n["scatter"], *scatter); - fromYaml(n["scatterMethod"], *scatterMethod); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStep{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["in"], *res.in); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["out"], *res.out); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["requirements"], *res.requirements); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["hints"], *res.hints); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["run"], *res.run); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["when"], *res.when); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["scatter"], *res.scatter); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["scatterMethod"], *res.scatterMethod); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::Workflow::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "steps", - convertListToMap(toYaml(*steps), "id")); - return n; -} -inline void https___w3id_org_cwl_cwl::Workflow::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); - - fromYaml(convertMapToList(n["steps"], -"id"), *steps); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Workflow{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["id"], *res.id); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["label"], *res.label); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["doc"], *res.doc); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["inputs"], *res.inputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["outputs"], *res.outputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["requirements"], *res.requirements); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["hints"], *res.hints); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["cwlVersion"], *res.cwlVersion); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["intent"], *res.intent); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["steps"], *res.steps); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - return n; -} -inline void https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::ScatterFeatureRequirement::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - return n; -} -inline void https___w3id_org_cwl_cwl::ScatterFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ScatterFeatureRequirement{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - return n; -} -inline void https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::StepInputExpressionRequirement::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - return n; -} -inline void https___w3id_org_cwl_cwl::StepInputExpressionRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::StepInputExpressionRequirement{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::OperationInputParameter::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_cwl::OperationInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); - fromYaml(n["type"], *type); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OperationInputParameter{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::OperationOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_cwl::OperationOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["type"], *type); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OperationOutputParameter{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; -inline auto https___w3id_org_cwl_cwl::Operation::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - return n; -} -inline void https___w3id_org_cwl_cwl::Operation::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); -} - -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Operation{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["id"], *res.id); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["label"], *res.label); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["doc"], *res.doc); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["inputs"], *res.inputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["outputs"], *res.outputs); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["requirements"], *res.requirements); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["hints"], *res.hints); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["cwlVersion"], *res.cwlVersion); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["intent"], *res.intent); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["class"], *res.class_); - fromYaml(n, res); - return res; - } catch(...) {} - - return std::nullopt; - } -}; template auto toYaml(std::vector const& v) -> YAML::Node { From 63768f2e4efc678cf657f630b29b93992859f1a6 Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Mon, 2 Dec 2024 14:36:00 +0100 Subject: [PATCH 2/8] ci: update to clang-17 --- .github/workflows/ci_macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci_macos.yml index c16548a..776d01c 100644 --- a/.github/workflows/ci_macos.yml +++ b/.github/workflows/ci_macos.yml @@ -27,8 +27,8 @@ jobs: fail-fast: false matrix: include: - - name: "clang12 (c++20)" - compiler: "clang-12" + - name: "clang17 (c++20)" + compiler: "clang-17" build_type: Release cpp: 20 From 66100b61e3bc4df2693123e22f1e9fe5732df1fc Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Mon, 9 Dec 2024 09:45:50 +0100 Subject: [PATCH 3/8] ci: update to macos 13 --- .github/workflows/ci_macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci_macos.yml index 776d01c..79cb573 100644 --- a/.github/workflows/ci_macos.yml +++ b/.github/workflows/ci_macos.yml @@ -1,4 +1,4 @@ -name: macOS 12 +name: macOS 13 on: push: @@ -21,7 +21,7 @@ defaults: jobs: build: name: ${{ matrix.name }} - runs-on: macos-12 + runs-on: macos-13 timeout-minutes: 180 strategy: fail-fast: false From 7a762a731fb77b317cdb7c5144c04852c02495c2 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Tue, 10 Dec 2024 17:37:34 +0100 Subject: [PATCH 4/8] regen fixup (was missing Workflow and others) --- Makefile | 2 +- cwl_v1_2.h | 1466 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 1402 insertions(+), 66 deletions(-) diff --git a/Makefile b/Makefile index cd06f63..d53ecb6 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ CXXFLAGS += -Werror -Wextra -Wall cwl_v1_2.h: FORCE schema-salad-tool --codegen cpp \ - --codegen-spdx-copyright-text "Copyright 2016-2023 CWL Project Contributors" \ + --codegen-spdx-copyright-text "Copyright 2016-2024 CWL Project Contributors" \ --codegen-spdx-license-identifier "Apache-2.0" \ https://github.com/common-workflow-language/cwl-v1.2/raw/main/CommonWorkflowLanguage.yml \ > $@ diff --git a/cwl_v1_2.h b/cwl_v1_2.h index 75eb22d..05e7f9c 100644 --- a/cwl_v1_2.h +++ b/cwl_v1_2.h @@ -321,6 +321,22 @@ namespace https___w3id_org_cwl_cwl { struct WorkReuse; } namespace https___w3id_org_cwl_cwl { struct NetworkAccess; } namespace https___w3id_org_cwl_cwl { struct InplaceUpdateRequirement; } namespace https___w3id_org_cwl_cwl { struct ToolTimeLimit; } +namespace https___w3id_org_cwl_cwl { struct ExpressionToolOutputParameter; } +namespace https___w3id_org_cwl_cwl { struct WorkflowInputParameter; } +namespace https___w3id_org_cwl_cwl { struct ExpressionTool; } +namespace https___w3id_org_cwl_cwl { struct WorkflowOutputParameter; } +namespace https___w3id_org_cwl_cwl { struct Sink; } +namespace https___w3id_org_cwl_cwl { struct WorkflowStepInput; } +namespace https___w3id_org_cwl_cwl { struct WorkflowStepOutput; } +namespace https___w3id_org_cwl_cwl { struct WorkflowStep; } +namespace https___w3id_org_cwl_cwl { struct Workflow; } +namespace https___w3id_org_cwl_cwl { struct SubworkflowFeatureRequirement; } +namespace https___w3id_org_cwl_cwl { struct ScatterFeatureRequirement; } +namespace https___w3id_org_cwl_cwl { struct MultipleInputFeatureRequirement; } +namespace https___w3id_org_cwl_cwl { struct StepInputExpressionRequirement; } +namespace https___w3id_org_cwl_cwl { struct OperationInputParameter; } +namespace https___w3id_org_cwl_cwl { struct OperationOutputParameter; } +namespace https___w3id_org_cwl_cwl { struct Operation; } namespace https___w3id_org_cwl_salad { enum class PrimitiveType : unsigned int { null, @@ -1210,6 +1226,301 @@ inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ToolTimeLimit_class } template <> struct IsConstant : std::true_type {}; +namespace https___w3id_org_cwl_cwl { +enum class ExpressionTool_class_ExpressionTool_class : unsigned int { + ExpressionTool +}; +inline auto to_string(ExpressionTool_class_ExpressionTool_class v) { + static auto m = std::vector { + "ExpressionTool" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { + static auto m = std::map> { + {"ExpressionTool", https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class::ExpressionTool}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class LinkMergeMethod : unsigned int { + merge_nested, + merge_flattened +}; +inline auto to_string(LinkMergeMethod v) { + static auto m = std::vector { + "merge_nested", + "merge_flattened" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { + static auto m = std::map> { + {"merge_nested", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_nested}, + {"merge_flattened", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_flattened}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::LinkMergeMethod v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class PickValueMethod : unsigned int { + first_non_null, + the_only_non_null, + all_non_null +}; +inline auto to_string(PickValueMethod v) { + static auto m = std::vector { + "first_non_null", + "the_only_non_null", + "all_non_null" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::PickValueMethod& out) { + static auto m = std::map> { + {"first_non_null", https___w3id_org_cwl_cwl::PickValueMethod::first_non_null}, + {"the_only_non_null", https___w3id_org_cwl_cwl::PickValueMethod::the_only_non_null}, + {"all_non_null", https___w3id_org_cwl_cwl::PickValueMethod::all_non_null}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::PickValueMethod v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::PickValueMethod& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class ScatterMethod : unsigned int { + dotproduct, + nested_crossproduct, + flat_crossproduct +}; +inline auto to_string(ScatterMethod v) { + static auto m = std::vector { + "dotproduct", + "nested_crossproduct", + "flat_crossproduct" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterMethod& out) { + static auto m = std::map> { + {"dotproduct", https___w3id_org_cwl_cwl::ScatterMethod::dotproduct}, + {"nested_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::nested_crossproduct}, + {"flat_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::flat_crossproduct}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::ScatterMethod v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterMethod& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class Workflow_class_Workflow_class : unsigned int { + Workflow +}; +inline auto to_string(Workflow_class_Workflow_class v) { + static auto m = std::vector { + "Workflow" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { + static auto m = std::map> { + {"Workflow", https___w3id_org_cwl_cwl::Workflow_class_Workflow_class::Workflow}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::Workflow_class_Workflow_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class : unsigned int { + SubworkflowFeatureRequirement +}; +inline auto to_string(SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v) { + static auto m = std::vector { + "SubworkflowFeatureRequirement" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { + static auto m = std::map> { + {"SubworkflowFeatureRequirement", https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class::SubworkflowFeatureRequirement}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class ScatterFeatureRequirement_class_ScatterFeatureRequirement_class : unsigned int { + ScatterFeatureRequirement +}; +inline auto to_string(ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v) { + static auto m = std::vector { + "ScatterFeatureRequirement" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { + static auto m = std::map> { + {"ScatterFeatureRequirement", https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class::ScatterFeatureRequirement}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class : unsigned int { + MultipleInputFeatureRequirement +}; +inline auto to_string(MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v) { + static auto m = std::vector { + "MultipleInputFeatureRequirement" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { + static auto m = std::map> { + {"MultipleInputFeatureRequirement", https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class::MultipleInputFeatureRequirement}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class StepInputExpressionRequirement_class_StepInputExpressionRequirement_class : unsigned int { + StepInputExpressionRequirement +}; +inline auto to_string(StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v) { + static auto m = std::vector { + "StepInputExpressionRequirement" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { + static auto m = std::map> { + {"StepInputExpressionRequirement", https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class::StepInputExpressionRequirement}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + +namespace https___w3id_org_cwl_cwl { +enum class Operation_class_Operation_class : unsigned int { + Operation +}; +inline auto to_string(Operation_class_Operation_class v) { + static auto m = std::vector { + "Operation" + }; + using U = std::underlying_type_t; + return m.at(static_cast(v)); +} +} +inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { + static auto m = std::map> { + {"Operation", https___w3id_org_cwl_cwl::Operation_class_Operation_class::Operation}, + }; + auto iter = m.find(v); + if (iter == m.end()) throw bool{}; + out = iter->second; +} +inline auto toYaml(https___w3id_org_cwl_cwl::Operation_class_Operation_class v) { + return YAML::Node{std::string{to_string(v)}}; +} +inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { + to_enum(n.as(), out); +} +template <> struct IsConstant : std::true_type {}; + namespace https___w3id_org_cwl_salad { struct Documented { heap_object>> doc; @@ -1539,10 +1850,10 @@ struct Process : https___w3id_org_cwl_cwl::Identified , https___w3id_org_cwl_cwl::Labeled , https___w3id_org_cwl_salad::Documented { - heap_object>> inputs; - heap_object>> outputs; - heap_object>>> requirements; - heap_object>>> hints; + heap_object>> inputs; + heap_object>> outputs; + heap_object>>> requirements; + heap_object>>> hints; heap_object> cwlVersion; heap_object>> intent; virtual ~Process() = 0; @@ -1791,8 +2102,8 @@ struct CommandLineTool { heap_object>> doc; heap_object> inputs; heap_object> outputs; - heap_object>>> requirements; - heap_object>>> hints; + heap_object>>> requirements; + heap_object>>> hints; heap_object> cwlVersion; heap_object>> intent; heap_object class_; @@ -1953,71 +2264,274 @@ struct ToolTimeLimit }; } -template -heap_object::~heap_object() = default; - -inline https___w3id_org_cwl_salad::Documented::~Documented() = default; -inline auto https___w3id_org_cwl_salad::Documented::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - return n; -} -inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); -} -inline auto https___w3id_org_cwl_salad::RecordField::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - return n; -} -inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - https___w3id_org_cwl_salad::Documented::fromYaml(n); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); +namespace https___w3id_org_cwl_cwl { +struct ExpressionToolOutputParameter + : https___w3id_org_cwl_cwl::OutputParameter { + heap_object>>> type; + ~ExpressionToolOutputParameter() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; } -template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { - if (!n.IsDefined()) return std::nullopt; - if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_salad::RecordField{}; - - if constexpr (IsConstant::value) try { - fromYaml(n["name"], *res.name); - fromYaml(n, res); - return res; - } catch(...) {} - - if constexpr (IsConstant::value) try { - fromYaml(n["type"], *res.type); - fromYaml(n, res); - return res; - } catch(...) {} +namespace https___w3id_org_cwl_cwl { +struct WorkflowInputParameter + : https___w3id_org_cwl_cwl::InputParameter { + heap_object>>> type; + heap_object> inputBinding; + ~WorkflowInputParameter() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} - return std::nullopt; - } +namespace https___w3id_org_cwl_cwl { +struct ExpressionTool { + heap_object> id; + heap_object> label; + heap_object>> doc; + heap_object> inputs; + heap_object> outputs; + heap_object>>> requirements; + heap_object>>> hints; + heap_object> cwlVersion; + heap_object>> intent; + heap_object class_; + heap_object expression; + virtual ~ExpressionTool() = default; + virtual auto toYaml() const -> YAML::Node; + virtual void fromYaml(YAML::Node const& n); }; -inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml() const -> YAML::Node { - using ::toYaml; - auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); - return n; } -inline void https___w3id_org_cwl_salad::RecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); +namespace https___w3id_org_cwl_cwl { +struct WorkflowOutputParameter + : https___w3id_org_cwl_cwl::OutputParameter { + heap_object>> outputSource; + heap_object> linkMerge; + heap_object> pickValue; + heap_object>>> type; + ~WorkflowOutputParameter() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct Sink { + heap_object>> source; + heap_object> linkMerge; + heap_object> pickValue; + virtual ~Sink() = 0; + virtual auto toYaml() const -> YAML::Node; + virtual void fromYaml(YAML::Node const& n); +}; +} + +namespace https___w3id_org_cwl_cwl { +struct WorkflowStepInput + : https___w3id_org_cwl_cwl::Identified + , https___w3id_org_cwl_cwl::Sink + , https___w3id_org_cwl_cwl::LoadContents + , https___w3id_org_cwl_cwl::Labeled { + heap_object> default_; + heap_object> valueFrom; + ~WorkflowStepInput() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct WorkflowStepOutput + : https___w3id_org_cwl_cwl::Identified { + ~WorkflowStepOutput() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct WorkflowStep + : https___w3id_org_cwl_cwl::Identified + , https___w3id_org_cwl_cwl::Labeled + , https___w3id_org_cwl_salad::Documented { + heap_object> in; + heap_object>> out; + heap_object>>> requirements; + heap_object>> hints; + heap_object> run; + heap_object> when; + heap_object>> scatter; + heap_object> scatterMethod; + ~WorkflowStep() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct Workflow { + heap_object> id; + heap_object> label; + heap_object>> doc; + heap_object> inputs; + heap_object> outputs; + heap_object>>> requirements; + heap_object>>> hints; + heap_object> cwlVersion; + heap_object>> intent; + heap_object class_; + heap_object> steps; + virtual ~Workflow() = default; + virtual auto toYaml() const -> YAML::Node; + virtual void fromYaml(YAML::Node const& n); +}; +} + +namespace https___w3id_org_cwl_cwl { +struct SubworkflowFeatureRequirement + : https___w3id_org_cwl_cwl::ProcessRequirement { + heap_object class_; + ~SubworkflowFeatureRequirement() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct ScatterFeatureRequirement + : https___w3id_org_cwl_cwl::ProcessRequirement { + heap_object class_; + ~ScatterFeatureRequirement() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct MultipleInputFeatureRequirement + : https___w3id_org_cwl_cwl::ProcessRequirement { + heap_object class_; + ~MultipleInputFeatureRequirement() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct StepInputExpressionRequirement + : https___w3id_org_cwl_cwl::ProcessRequirement { + heap_object class_; + ~StepInputExpressionRequirement() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct OperationInputParameter + : https___w3id_org_cwl_cwl::InputParameter { + heap_object>>> type; + ~OperationInputParameter() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct OperationOutputParameter + : https___w3id_org_cwl_cwl::OutputParameter { + heap_object>>> type; + ~OperationOutputParameter() override = default; + auto toYaml() const -> YAML::Node override; + void fromYaml(YAML::Node const& n) override; +}; +} + +namespace https___w3id_org_cwl_cwl { +struct Operation { + heap_object> id; + heap_object> label; + heap_object>> doc; + heap_object> inputs; + heap_object> outputs; + heap_object>>> requirements; + heap_object>>> hints; + heap_object> cwlVersion; + heap_object>> intent; + heap_object class_; + virtual ~Operation() = default; + virtual auto toYaml() const -> YAML::Node; + virtual void fromYaml(YAML::Node const& n); +}; +} + +template +heap_object::~heap_object() = default; + +inline https___w3id_org_cwl_salad::Documented::~Documented() = default; +inline auto https___w3id_org_cwl_salad::Documented::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "doc", toYaml(*doc)); + return n; +} +inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["doc"], *doc); +} +inline auto https___w3id_org_cwl_salad::RecordField::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); + addYamlField(n, "name", toYaml(*name)); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_salad::Documented::fromYaml(n); + fromYaml(n["name"], *name); + fromYaml(n["type"], *type); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_salad::RecordField{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["name"], *res.name); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "fields", + convertListToMap(toYaml(*fields), "name")); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_salad::RecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + + fromYaml(convertMapToList(n["fields"], +"name"), *fields); + fromYaml(n["type"], *type); } template <> @@ -4665,6 +5179,828 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; +inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); + fromYaml(n["type"], *type); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::ExpressionToolOutputParameter{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::WorkflowInputParameter::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); + addYamlField(n, "type", toYaml(*type)); + addYamlField(n, "inputBinding", toYaml(*inputBinding)); + return n; +} +inline void https___w3id_org_cwl_cwl::WorkflowInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); + fromYaml(n["type"], *type); + fromYaml(n["inputBinding"], *inputBinding); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::WorkflowInputParameter{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["inputBinding"], *res.inputBinding); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::ExpressionTool::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "id", toYaml(*id)); + addYamlField(n, "label", toYaml(*label)); + addYamlField(n, "doc", toYaml(*doc)); + addYamlField(n, "inputs", + convertListToMap(toYaml(*inputs), "id")); + addYamlField(n, "outputs", + convertListToMap(toYaml(*outputs), "id")); + addYamlField(n, "requirements", + convertListToMap(toYaml(*requirements), "class")); + addYamlField(n, "hints", + convertListToMap(toYaml(*hints), "class")); + addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); + addYamlField(n, "intent", toYaml(*intent)); + addYamlField(n, "class", toYaml(*class_)); + addYamlField(n, "expression", toYaml(*expression)); + return n; +} +inline void https___w3id_org_cwl_cwl::ExpressionTool::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["id"], *id); + fromYaml(n["label"], *label); + fromYaml(n["doc"], *doc); + + fromYaml(convertMapToList(n["inputs"], +"id"), *inputs); + + fromYaml(convertMapToList(n["outputs"], +"id"), *outputs); + + fromYaml(convertMapToList(n["requirements"], +"class"), *requirements); + + fromYaml(convertMapToList(n["hints"], +"class"), *hints); + fromYaml(n["cwlVersion"], *cwlVersion); + fromYaml(n["intent"], *intent); + fromYaml(n["class"], *class_); + fromYaml(n["expression"], *expression); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::ExpressionTool{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["id"], *res.id); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["label"], *res.label); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["doc"], *res.doc); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["inputs"], *res.inputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["outputs"], *res.outputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["requirements"], *res.requirements); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["hints"], *res.hints); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["cwlVersion"], *res.cwlVersion); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["intent"], *res.intent); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["expression"], *res.expression); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); + addYamlField(n, "outputSource", toYaml(*outputSource)); + addYamlField(n, "linkMerge", toYaml(*linkMerge)); + addYamlField(n, "pickValue", toYaml(*pickValue)); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_cwl::WorkflowOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); + fromYaml(n["outputSource"], *outputSource); + fromYaml(n["linkMerge"], *linkMerge); + fromYaml(n["pickValue"], *pickValue); + fromYaml(n["type"], *type); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::WorkflowOutputParameter{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["outputSource"], *res.outputSource); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["linkMerge"], *res.linkMerge); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["pickValue"], *res.pickValue); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline https___w3id_org_cwl_cwl::Sink::~Sink() = default; +inline auto https___w3id_org_cwl_cwl::Sink::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "source", toYaml(*source)); + addYamlField(n, "linkMerge", toYaml(*linkMerge)); + addYamlField(n, "pickValue", toYaml(*pickValue)); + return n; +} +inline void https___w3id_org_cwl_cwl::Sink::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["source"], *source); + fromYaml(n["linkMerge"], *linkMerge); + fromYaml(n["pickValue"], *pickValue); +} +inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Sink::toYaml()); + n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml()); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); + addYamlField(n, "default", toYaml(*default_)); + addYamlField(n, "valueFrom", toYaml(*valueFrom)); + return n; +} +inline void https___w3id_org_cwl_cwl::WorkflowStepInput::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::Identified::fromYaml(n); + https___w3id_org_cwl_cwl::Sink::fromYaml(n); + https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); + https___w3id_org_cwl_cwl::Labeled::fromYaml(n); + fromYaml(n["default"], *default_); + fromYaml(n["valueFrom"], *valueFrom); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::WorkflowStepInput{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["default"], *res.default_); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["valueFrom"], *res.valueFrom); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::WorkflowStepOutput::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); + return n; +} +inline void https___w3id_org_cwl_cwl::WorkflowStepOutput::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::Identified::fromYaml(n); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::WorkflowStepOutput{}; + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); + addYamlField(n, "in", + convertListToMap(toYaml(*in), "id")); + addYamlField(n, "out", toYaml(*out)); + addYamlField(n, "requirements", + convertListToMap(toYaml(*requirements), "class")); + addYamlField(n, "hints", + convertListToMap(toYaml(*hints), "class")); + addYamlField(n, "run", toYaml(*run)); + addYamlField(n, "when", toYaml(*when)); + addYamlField(n, "scatter", toYaml(*scatter)); + addYamlField(n, "scatterMethod", toYaml(*scatterMethod)); + return n; +} +inline void https___w3id_org_cwl_cwl::WorkflowStep::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::Identified::fromYaml(n); + https___w3id_org_cwl_cwl::Labeled::fromYaml(n); + https___w3id_org_cwl_salad::Documented::fromYaml(n); + + fromYaml(convertMapToList(n["in"], +"id"), *in); + fromYaml(n["out"], *out); + + fromYaml(convertMapToList(n["requirements"], +"class"), *requirements); + + fromYaml(convertMapToList(n["hints"], +"class"), *hints); + fromYaml(n["run"], *run); + fromYaml(n["when"], *when); + fromYaml(n["scatter"], *scatter); + fromYaml(n["scatterMethod"], *scatterMethod); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::WorkflowStep{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["in"], *res.in); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["out"], *res.out); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["requirements"], *res.requirements); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["hints"], *res.hints); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["run"], *res.run); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["when"], *res.when); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["scatter"], *res.scatter); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["scatterMethod"], *res.scatterMethod); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::Workflow::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "id", toYaml(*id)); + addYamlField(n, "label", toYaml(*label)); + addYamlField(n, "doc", toYaml(*doc)); + addYamlField(n, "inputs", + convertListToMap(toYaml(*inputs), "id")); + addYamlField(n, "outputs", + convertListToMap(toYaml(*outputs), "id")); + addYamlField(n, "requirements", + convertListToMap(toYaml(*requirements), "class")); + addYamlField(n, "hints", + convertListToMap(toYaml(*hints), "class")); + addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); + addYamlField(n, "intent", toYaml(*intent)); + addYamlField(n, "class", toYaml(*class_)); + addYamlField(n, "steps", + convertListToMap(toYaml(*steps), "id")); + return n; +} +inline void https___w3id_org_cwl_cwl::Workflow::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["id"], *id); + fromYaml(n["label"], *label); + fromYaml(n["doc"], *doc); + + fromYaml(convertMapToList(n["inputs"], +"id"), *inputs); + + fromYaml(convertMapToList(n["outputs"], +"id"), *outputs); + + fromYaml(convertMapToList(n["requirements"], +"class"), *requirements); + + fromYaml(convertMapToList(n["hints"], +"class"), *hints); + fromYaml(n["cwlVersion"], *cwlVersion); + fromYaml(n["intent"], *intent); + fromYaml(n["class"], *class_); + + fromYaml(convertMapToList(n["steps"], +"id"), *steps); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::Workflow{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["id"], *res.id); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["label"], *res.label); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["doc"], *res.doc); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["inputs"], *res.inputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["outputs"], *res.outputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["requirements"], *res.requirements); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["hints"], *res.hints); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["cwlVersion"], *res.cwlVersion); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["intent"], *res.intent); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["steps"], *res.steps); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); + addYamlField(n, "class", toYaml(*class_)); + return n; +} +inline void https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); + fromYaml(n["class"], *class_); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::ScatterFeatureRequirement::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); + addYamlField(n, "class", toYaml(*class_)); + return n; +} +inline void https___w3id_org_cwl_cwl::ScatterFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); + fromYaml(n["class"], *class_); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::ScatterFeatureRequirement{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); + addYamlField(n, "class", toYaml(*class_)); + return n; +} +inline void https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); + fromYaml(n["class"], *class_); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::StepInputExpressionRequirement::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); + addYamlField(n, "class", toYaml(*class_)); + return n; +} +inline void https___w3id_org_cwl_cwl::StepInputExpressionRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); + fromYaml(n["class"], *class_); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::StepInputExpressionRequirement{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::OperationInputParameter::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_cwl::OperationInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); + fromYaml(n["type"], *type); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::OperationInputParameter{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::OperationOutputParameter::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); + addYamlField(n, "type", toYaml(*type)); + return n; +} +inline void https___w3id_org_cwl_cwl::OperationOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); + fromYaml(n["type"], *type); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::OperationOutputParameter{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["type"], *res.type); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; +inline auto https___w3id_org_cwl_cwl::Operation::toYaml() const -> YAML::Node { + using ::toYaml; + auto n = YAML::Node{}; + addYamlField(n, "id", toYaml(*id)); + addYamlField(n, "label", toYaml(*label)); + addYamlField(n, "doc", toYaml(*doc)); + addYamlField(n, "inputs", + convertListToMap(toYaml(*inputs), "id")); + addYamlField(n, "outputs", + convertListToMap(toYaml(*outputs), "id")); + addYamlField(n, "requirements", + convertListToMap(toYaml(*requirements), "class")); + addYamlField(n, "hints", + convertListToMap(toYaml(*hints), "class")); + addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); + addYamlField(n, "intent", toYaml(*intent)); + addYamlField(n, "class", toYaml(*class_)); + return n; +} +inline void https___w3id_org_cwl_cwl::Operation::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::fromYaml; + fromYaml(n["id"], *id); + fromYaml(n["label"], *label); + fromYaml(n["doc"], *doc); + + fromYaml(convertMapToList(n["inputs"], +"id"), *inputs); + + fromYaml(convertMapToList(n["outputs"], +"id"), *outputs); + + fromYaml(convertMapToList(n["requirements"], +"class"), *requirements); + + fromYaml(convertMapToList(n["hints"], +"class"), *hints); + fromYaml(n["cwlVersion"], *cwlVersion); + fromYaml(n["intent"], *intent); + fromYaml(n["class"], *class_); +} + +template <> +struct DetectAndExtractFromYaml { + auto operator()(YAML::Node const& n) const -> std::optional { + if (!n.IsDefined()) return std::nullopt; + if (!n.IsMap()) return std::nullopt; + auto res = https___w3id_org_cwl_cwl::Operation{}; + + if constexpr (IsConstant::value) try { + fromYaml(n["id"], *res.id); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["label"], *res.label); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["doc"], *res.doc); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["inputs"], *res.inputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["outputs"], *res.outputs); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["requirements"], *res.requirements); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["hints"], *res.hints); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["cwlVersion"], *res.cwlVersion); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["intent"], *res.intent); + fromYaml(n, res); + return res; + } catch(...) {} + + if constexpr (IsConstant::value) try { + fromYaml(n["class"], *res.class_); + fromYaml(n, res); + return res; + } catch(...) {} + + return std::nullopt; + } +}; template auto toYaml(std::vector const& v) -> YAML::Node { From 09d7d113e8cf526d0eb371cf4d578dd1dbd3ac52 Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Wed, 11 Dec 2024 09:18:09 +0100 Subject: [PATCH 5/8] Update README.md Co-authored-by: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b61e50..aef6432 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,4 @@ The usage can be seen in the [cwl_output_example.cpp](cwl_output_example.cpp) fi Another short example of loading a CWL description file an be seen in [cwl_input_example.cpp](cwl_input_example.cpp). The generations was done by calling: -schema_salad --codegen cpp --codegen-spdx-copyright-text 'Copyright 2016-2024 CWL Project Contributors' --codegen-spdx-license-identifier Apache-2.0 -- ../cwl-v1.2/CommandLineTool-standalone.yml > generated-cwl.h +make cwl_v1_2.h From b55a818601949c402e51f13f76bcfcef40010b6f Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Mon, 16 Dec 2024 10:41:05 +0100 Subject: [PATCH 6/8] refactor: tests, adding more tests for loading/storing --- Makefile | 31 +- cwl_input_example.cpp | 15 +- cwl_input_example_store_config.cpp | 32 + cwl_output_example.cpp | 8 +- cwl_v1_2.h | 4878 +++++++++++++---- tests/01_types.cwl | 63 + tests/01_types_expected.cwl | 42 + tests/01_types_expected_no_list_to_map.cwl | 55 + tests/01_types_expected_no_simplification.cwl | 48 + ...cted_no_simplification_and_list_to_map.cwl | 61 + tests/02_expression.cwl | 54 + tests/02_expression_expected.cwl | 51 + expected_cwl.cwl => tests/expected_cwl.cwl | 18 +- 13 files changed, 4104 insertions(+), 1252 deletions(-) create mode 100644 cwl_input_example_store_config.cpp create mode 100644 tests/01_types.cwl create mode 100644 tests/01_types_expected.cwl create mode 100644 tests/01_types_expected_no_list_to_map.cwl create mode 100644 tests/01_types_expected_no_simplification.cwl create mode 100644 tests/01_types_expected_no_simplification_and_list_to_map.cwl create mode 100644 tests/02_expression.cwl create mode 100644 tests/02_expression_expected.cwl rename expected_cwl.cwl => tests/expected_cwl.cwl (67%) diff --git a/Makefile b/Makefile index d53ecb6..72c56a3 100644 --- a/Makefile +++ b/Makefile @@ -36,20 +36,25 @@ clean: FORCE ## regen_parser : regenerate the CWL v1.2 parser regen_parser: cwl_v1_*.h +define run_test + @result="$(shell eval $(1) | md5sum -b)" ; \ + expected="$(shell eval $(2) | md5sum -b)" ; \ + if [ "$$result" != "$$expected" ] ; then \ + echo test failed '$(1)': $$result != $$expected; exit 1; \ + fi; +endef + ## tests : compile and run the tests -tests: FORCE cwl_output_example cwl_input_example - @result_output="$(shell ./cwl_output_example | md5sum -b)" ; \ - result_input="$(shell ./cwl_input_example expected_cwl.cwl | md5sum -b)" ; \ - expected="$(shell cat expected_cwl.cwl | md5sum -b)" ; \ - if [ "$$result_output" = "$$expected" ] ; then \ - if [ "$$result_input" = "$$expected" ] ; then \ - echo test passed ; \ - else \ - echo test failed cwl_input_example $$result_input != $$expected; exit 1; \ - fi \ - else \ - echo test failed cwl_output_example $$result_output != $$expected; exit 1; \ - fi +tests: FORCE cwl_output_example cwl_input_example cwl_input_example_store_config + $(call run_test,./cwl_output_example,cat tests/expected_cwl.cwl) + $(call run_test,./cwl_input_example tests/expected_cwl.cwl,cat tests/expected_cwl.cwl) + $(call run_test,./cwl_input_example_store_config tests/01_types.cwl,cat tests/01_types_expected.cwl) + $(call run_test,./cwl_input_example_store_config tests/01_types.cwl no_simplification,cat tests/01_types_expected_no_simplification.cwl) + $(call run_test,./cwl_input_example_store_config tests/01_types.cwl no_list_to_map,cat tests/01_types_expected_no_list_to_map.cwl) + $(call run_test,./cwl_input_example_store_config tests/01_types.cwl no_simplification no_list_to_map,cat tests/01_types_expected_no_simplification_and_list_to_map.cwl) + $(call run_test,./cwl_input_example tests/02_expression.cwl,cat tests/02_expression_expected.cwl) + + @echo test passed FORCE: # Use this to print the value of a Makefile variable diff --git a/cwl_input_example.cpp b/cwl_input_example.cpp index 32b6dfa..805de14 100644 --- a/cwl_input_example.cpp +++ b/cwl_input_example.cpp @@ -10,21 +10,10 @@ */ -// using shortened cwl:: namespace instead of https___w3id_org_cwl_cwl -namespace cwl = https___w3id_org_cwl_cwl; - int main(int argc, char** argv) { if (argc != 2) return 1; - auto yaml = YAML::LoadFile(argv[1]); - auto tool = cwl::CommandLineTool{}; - fromYaml(yaml, tool); - - auto y = toYaml(tool); - - YAML::Emitter out; - out << y; - std::cout << out.c_str() << "\n"; - + auto tool = cpp_gen::load_document(argv[1]); + cpp_gen::store_document(tool, std::cout); return 0; } diff --git a/cwl_input_example_store_config.cpp b/cwl_input_example_store_config.cpp new file mode 100644 index 0000000..5f5b659 --- /dev/null +++ b/cwl_input_example_store_config.cpp @@ -0,0 +1,32 @@ +#include "cwl_v1_2.h" + +#include + +/** + * This test program creates loads and prints a CWL description. + * + * It assumes that printing to stdout works (see cwl_output_example). + * It loads a CWL description from a file and populates C++ classes. + */ + + +int main(int argc, char** argv) { + if (argc < 2) return 1; + + auto tool = cpp_gen::load_document(argv[1]); + + // parse command line + auto config = cpp_gen::store_config{}; + for (int i{2}; i < argc; ++i) { + auto sv = std::string_view{argv[i]}; + if (sv == "no_simplification") { + config.simplifyTypes = false; + } else if (sv == "no_list_to_map") { + config.transformListsToMaps = false; + } else if (sv == "tags") { + config.generateTags = true; + } + } + cpp_gen::store_document(tool, std::cout, config); + return 0; +} diff --git a/cwl_output_example.cpp b/cwl_output_example.cpp index 2f1205a..dfd120e 100644 --- a/cwl_output_example.cpp +++ b/cwl_output_example.cpp @@ -9,7 +9,7 @@ */ // using shortened cwl:: namespace instead of https___w3id_org_cwl_cwl -namespace cwl = https___w3id_org_cwl_cwl; +namespace cwl = cpp_gen::https___w3id_org_cwl_cwl; int main() { // declaring information about this tool in general @@ -105,9 +105,5 @@ int main() { } - auto y = toYaml(tool); - - YAML::Emitter out; - out << y; - std::cout << out.c_str() << "\n"; + cpp_gen::store_document(tool, std::cout); } diff --git a/cwl_v1_2.h b/cwl_v1_2.h index 05e7f9c..0537ac5 100644 --- a/cwl_v1_2.h +++ b/cwl_v1_2.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include @@ -19,45 +21,123 @@ #include #include +namespace cpp_gen { + +struct store_config { + bool simplifyTypes = true; + bool transformListsToMaps = true; + bool generateTags = false; +}; + +inline auto simplifyType(YAML::Node type, store_config const& config) -> YAML::Node { + if (!config.simplifyTypes) return type; + auto is_optional = [](YAML::Node const & node) { + return node.IsSequence() && node.size() == 2u && node[0].Scalar() == "null"; + }; + + auto is_array = [](YAML::Node const & node) { + return node.IsMap() && node["type"].Scalar() == "array" && node["items"].IsScalar(); + }; + + // 1. Collapsing optional scalar types into one option + if (is_optional(type) && type[1].IsScalar()) { + type = type[1].as() + "?"; + } + + // 2. Collapsing array types into one option + if (is_array(type)) { + type = type["items"].as() + "[]"; + } + + // 3. Collapsing optional array types into one option + if (is_optional(type) && is_array(type[1])) { + type = type[1]["items"].as() + "[]?"; + } + + return type; +} + +inline auto expandType(YAML::Node type) -> YAML::Node { + auto ends_with = [](std::string str, std::string suffix) { + if (str.size() < suffix.size()) return false; + auto str_suffix = str.substr(str.size()-suffix.size(), suffix.size()); + return str_suffix == suffix; + }; + + // 0. If not a scalar type, nothing to do + if (!type.IsDefined() || !type.IsScalar()) { + return type; + } + + auto str = type.as(); + // 1. Check if optional array type and expand + if (ends_with(str, "[]?")) { + auto result = YAML::Node{}; + result.push_back(YAML::Node{"null"}); + auto array = YAML::Node{}; + array["type"] = "array"; + array["items"] = expandType(YAML::Node(str.substr(0, str.size()-3))); + result.push_back(array); + return result; + } + + // 2. Expand array + if (ends_with(str, "[]")) { + auto array = YAML::Node{}; + array["type"] = "array"; + array["items"] = expandType(YAML::Node(str.substr(0, str.size()-2))); + return array; + } + + // 3. Expand optional scalar type + if (ends_with(str, "?")) { + auto result = YAML::Node{}; + result.push_back(YAML::Node{"null"}); + result.push_back(expandType(YAML::Node(str.substr(0, str.size()-1)))); + return result; + } + return type; +} + inline auto mergeYaml(YAML::Node n1, YAML::Node n2) { - for (auto const& e : n1) { - n2[e.first.as()] = e.second; + for (auto const& e : n2) { + n1[e.first.as()] = e.second; } - return n2; + return n1; } // declaring toYaml -inline auto toYaml(bool v) { return YAML::Node{v}; } -inline auto toYaml(float v) { return YAML::Node{v}; } -inline auto toYaml(double v) { return YAML::Node{v}; } -inline auto toYaml(char v) { return YAML::Node{v}; } -inline auto toYaml(int8_t v) { return YAML::Node{v}; } -inline auto toYaml(uint8_t v) { return YAML::Node{v}; } -inline auto toYaml(int16_t v) { return YAML::Node{v}; } -inline auto toYaml(uint16_t v) { return YAML::Node{v}; } -inline auto toYaml(int32_t v) { return YAML::Node{v}; } -inline auto toYaml(uint32_t v) { return YAML::Node{v}; } -inline auto toYaml(int64_t v) { return YAML::Node{v}; } -inline auto toYaml(uint64_t v) { return YAML::Node{v}; } -inline auto toYaml(std::monostate const&) { +inline auto toYaml(bool v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(float v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(double v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(char v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(int8_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(uint8_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(int16_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(uint16_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(int32_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(uint32_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(int64_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(uint64_t v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } +inline auto toYaml(std::monostate const&, [[maybe_unused]] store_config const&) { return YAML::Node(YAML::NodeType::Undefined); } -inline auto toYaml(std::string const& v) { +inline auto toYaml(std::string const& v, [[maybe_unused]] store_config const&) { return YAML::Node{v}; } template -auto anyToYaml_impl(std::any const& a) { +auto anyToYaml_impl(std::any const& a, [[maybe_unused]] store_config const& config) { if (auto v = std::any_cast(&a)) { - return toYaml(*v); + return toYaml(*v, config); } if constexpr (sizeof...(Args) > 0) { - return anyToYaml_impl(a); + return anyToYaml_impl(a, config); } - return toYaml(std::monostate{}); + return toYaml(std::monostate{}, config); } -inline auto toYaml(std::any const& a) { +inline auto toYaml(std::any const& a, [[maybe_unused]] store_config const& config) { return anyToYaml_impl(a); + std::string>(a, config); } // declaring fromYaml @@ -103,23 +183,37 @@ inline void addYamlField(YAML::Node& node, std::string const& key, YAML::Node va } } -inline auto convertListToMap(YAML::Node list, std::string const& key_name) { +inline auto convertListToMap(YAML::Node list, std::string const& mapSubject, std::string const& mapPredicate, store_config const& config) { + if (!config.transformListsToMaps) return list; + if (mapSubject.empty()) return list; if (list.size() == 0) return list; auto map = YAML::Node{}; for (YAML::Node n : list) { - auto key = n[key_name].as(); - n.remove(key_name); - map[key] = n; + auto key = n[mapSubject].as(); + if (mapPredicate.empty() || n[mapPredicate].IsMap() || n.size() > 2) { + n.remove(mapSubject); + map[key] = n; + } else { + map[key] = n[mapPredicate]; + } } return map; } -inline auto convertMapToList(YAML::Node map, std::string const& key_name) { +inline auto convertMapToList(YAML::Node map, std::string const& mapSubject, std::string const& mapPredicate) { + if (mapSubject.empty()) return map; if (!map.IsDefined()) return map; if (!map.IsMap()) return map; auto list = YAML::Node{}; for (auto n : map) { - n.second[key_name] = n.first; - list.push_back(n.second); + if (mapPredicate.empty() || n.second.IsMap()) { + n.second[mapSubject] = n.first; + list.push_back(n.second); + } else { + auto n2 = YAML::Node{}; + n2[mapSubject] = n.first; + n2[mapPredicate] = n.second; + list.push_back(n2); + } } return list; } @@ -128,13 +222,13 @@ template struct IsConstant : std::false_type {}; // fwd declaring toYaml template -auto toYaml(std::vector const& v) -> YAML::Node; +auto toYaml(std::vector const& v, [[maybe_unused]] store_config const& config) -> YAML::Node; template -auto toYaml(std::map const& v) -> YAML::Node; +auto toYaml(std::map const& v, [[maybe_unused]] store_config const& config) -> YAML::Node; template -auto toYaml(T const& t) -> YAML::Node; +auto toYaml(T const& t, [[maybe_unused]] store_config const& config) -> YAML::Node; template -auto toYaml(std::variant const& t) -> YAML::Node; +auto toYaml(std::variant const& t, [[maybe_unused]] store_config const& config) -> YAML::Node; // fwd declaring fromYaml template @@ -153,6 +247,23 @@ struct DetectAndExtractFromYaml { } }; +// special cwl expression string +struct cwl_expression_string { + std::string s; + + auto toYaml([[maybe_unused]] store_config const& config) const { + auto n = YAML::Node{s}; + if (config.generateTags) { + n.SetTag("Expression"); + } + return n; + } + void fromYaml(YAML::Node const& n) { + s = n.as(); + } +}; + + template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -375,8 +486,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::PrimitiveTyp if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::PrimitiveType v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_salad::PrimitiveType v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::PrimitiveType"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::PrimitiveType& out) { to_enum(n.as(), out); @@ -403,8 +516,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::Any& out) { if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::Any v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_salad::Any v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::Any"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::Any& out) { to_enum(n.as(), out); @@ -431,8 +546,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::RecordSchema if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::RecordSchema_type_Record_name v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_salad::RecordSchema_type_Record_name v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::RecordSchema_type_Record_name"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::RecordSchema_type_Record_name& out) { to_enum(n.as(), out); @@ -459,8 +576,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::EnumSchema_t if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::EnumSchema_type_Enum_name v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_salad::EnumSchema_type_Enum_name v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::EnumSchema_type_Enum_name"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::EnumSchema_type_Enum_name& out) { to_enum(n.as(), out); @@ -487,8 +606,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::ArraySchema_ if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::ArraySchema_type_Array_name v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_salad::ArraySchema_type_Array_name v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::ArraySchema_type_Array_name"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::ArraySchema_type_Array_name& out) { to_enum(n.as(), out); @@ -572,8 +693,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CWLVersion& ou if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CWLVersion v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::CWLVersion v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CWLVersion"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CWLVersion& out) { to_enum(n.as(), out); @@ -624,8 +747,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CWLType& out) if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CWLType v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::CWLType v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CWLType"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CWLType& out) { to_enum(n.as(), out); @@ -652,8 +777,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::File_class_Fil if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::File_class_File_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::File_class_File_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::File_class_File_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::File_class_File_class& out) { to_enum(n.as(), out); @@ -680,8 +807,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Directory_clas if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Directory_class_Directory_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::Directory_class_Directory_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Directory_class_Directory_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Directory_class_Directory_class& out) { to_enum(n.as(), out); @@ -714,8 +843,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LoadListingEnu if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingEnum v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingEnum v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LoadListingEnum"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LoadListingEnum& out) { to_enum(n.as(), out); @@ -742,8 +873,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Expression& ou if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Expression v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::Expression v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Expression"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Expression& out) { to_enum(n.as(), out); @@ -770,8 +903,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InlineJavascri if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class& out) { to_enum(n.as(), out); @@ -798,8 +933,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SchemaDefRequi if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class& out) { to_enum(n.as(), out); @@ -826,8 +963,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LoadListingReq if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class& out) { to_enum(n.as(), out); @@ -854,8 +993,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stdin_& out) { if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stdin_ v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::stdin_ v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stdin_"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stdin_& out) { to_enum(n.as(), out); @@ -882,8 +1023,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stdout_& out) if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stdout_ v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::stdout_ v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stdout_"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stdout_& out) { to_enum(n.as(), out); @@ -910,8 +1053,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stderr_& out) if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stderr_ v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::stderr_ v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stderr_"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stderr_& out) { to_enum(n.as(), out); @@ -938,8 +1083,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CommandLineToo if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class& out) { to_enum(n.as(), out); @@ -966,8 +1113,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::DockerRequirem if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class& out) { to_enum(n.as(), out); @@ -994,8 +1143,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SoftwareRequir if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class& out) { to_enum(n.as(), out); @@ -1022,8 +1173,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InitialWorkDir if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class& out) { to_enum(n.as(), out); @@ -1050,8 +1203,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::EnvVarRequirem if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class& out) { to_enum(n.as(), out); @@ -1078,8 +1233,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ShellCommandRe if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class& out) { to_enum(n.as(), out); @@ -1106,8 +1263,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ResourceRequir if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class& out) { to_enum(n.as(), out); @@ -1134,8 +1293,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::WorkReuse_clas if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class& out) { to_enum(n.as(), out); @@ -1162,8 +1323,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::NetworkAccess_ if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class& out) { to_enum(n.as(), out); @@ -1190,8 +1353,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InplaceUpdateR if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class& out) { to_enum(n.as(), out); @@ -1218,8 +1383,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ToolTimeLimit_ if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class& out) { to_enum(n.as(), out); @@ -1246,8 +1413,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ExpressionTool if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { to_enum(n.as(), out); @@ -1277,8 +1446,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LinkMergeMetho if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LinkMergeMethod v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::LinkMergeMethod v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LinkMergeMethod"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { to_enum(n.as(), out); @@ -1311,8 +1482,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::PickValueMetho if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::PickValueMethod v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::PickValueMethod v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::PickValueMethod"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::PickValueMethod& out) { to_enum(n.as(), out); @@ -1345,8 +1518,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterMethod& if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterMethod v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ScatterMethod v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ScatterMethod"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterMethod& out) { to_enum(n.as(), out); @@ -1373,8 +1548,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Workflow_class if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Workflow_class_Workflow_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::Workflow_class_Workflow_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Workflow_class_Workflow_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { to_enum(n.as(), out); @@ -1401,8 +1578,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SubworkflowFea if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { to_enum(n.as(), out); @@ -1429,8 +1608,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterFeature if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { to_enum(n.as(), out); @@ -1457,8 +1638,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::MultipleInputF if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { to_enum(n.as(), out); @@ -1485,8 +1668,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::StepInputExpre if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { to_enum(n.as(), out); @@ -1513,8 +1698,10 @@ inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Operation_clas if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Operation_class_Operation_class v) { - return YAML::Node{std::string{to_string(v)}}; +inline auto toYaml(https___w3id_org_cwl_cwl::Operation_class_Operation_class v, [[maybe_unused]] store_config const& config) { + auto n = YAML::Node{std::string{to_string(v)}}; + if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Operation_class_Operation_class"); + return n; } inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { to_enum(n.as(), out); @@ -1525,7 +1712,7 @@ namespace https___w3id_org_cwl_salad { struct Documented { heap_object>> doc; virtual ~Documented() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1536,7 +1723,7 @@ struct RecordField heap_object name; heap_object, RecordSchema, EnumSchema, ArraySchema, std::string, std::vector, RecordSchema, EnumSchema, ArraySchema, std::string>>>> type; ~RecordField() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1546,7 +1733,7 @@ struct RecordSchema { heap_object>> fields; heap_object type; virtual ~RecordSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1557,7 +1744,7 @@ struct EnumSchema { heap_object> symbols; heap_object type; virtual ~EnumSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1567,7 +1754,7 @@ struct ArraySchema { heap_object, RecordSchema, EnumSchema, ArraySchema, std::string, std::vector, RecordSchema, EnumSchema, ArraySchema, std::string>>>> items; heap_object type; virtual ~ArraySchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1587,7 +1774,7 @@ struct File { heap_object> format; heap_object> contents; virtual ~File() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1600,7 +1787,7 @@ struct Directory { heap_object> basename; heap_object>>> listing; virtual ~Directory() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1609,7 +1796,7 @@ namespace https___w3id_org_cwl_cwl { struct Labeled { heap_object> label; virtual ~Labeled() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1618,7 +1805,7 @@ namespace https___w3id_org_cwl_cwl { struct Identified { heap_object> id; virtual ~Identified() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1628,7 +1815,7 @@ struct LoadContents { heap_object> loadContents; heap_object> loadListing; virtual ~LoadContents() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1639,25 +1826,25 @@ struct FieldBase heap_object>> secondaryFiles; heap_object> streamable; virtual ~FieldBase() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } namespace https___w3id_org_cwl_cwl { struct InputFormat { - heap_object, Expression>> format; + heap_object, cwl_expression_string>> format; virtual ~InputFormat() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } namespace https___w3id_org_cwl_cwl { struct OutputFormat { - heap_object> format; + heap_object> format; virtual ~OutputFormat() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1668,7 +1855,7 @@ struct Parameter , https___w3id_org_cwl_salad::Documented , https___w3id_org_cwl_cwl::Identified { virtual ~Parameter() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1677,7 +1864,7 @@ namespace https___w3id_org_cwl_cwl { struct InputBinding { heap_object> loadContents; virtual ~InputBinding() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1688,7 +1875,7 @@ struct IOSchema , https___w3id_org_cwl_salad::Documented { heap_object> name; virtual ~IOSchema() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1697,7 +1884,7 @@ namespace https___w3id_org_cwl_cwl { struct InputSchema : https___w3id_org_cwl_cwl::IOSchema { virtual ~InputSchema() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1706,7 +1893,7 @@ namespace https___w3id_org_cwl_cwl { struct OutputSchema : https___w3id_org_cwl_cwl::IOSchema { virtual ~OutputSchema() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1719,11 +1906,11 @@ struct InputRecordField { heap_object> label; heap_object>> secondaryFiles; heap_object> streamable; - heap_object, Expression>> format; + heap_object, cwl_expression_string>> format; heap_object> loadContents; heap_object> loadListing; virtual ~InputRecordField() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1736,7 +1923,7 @@ struct InputRecordSchema { heap_object>> doc; heap_object> name; virtual ~InputRecordSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1746,7 +1933,7 @@ struct InputEnumSchema : https___w3id_org_cwl_salad::EnumSchema , https___w3id_org_cwl_cwl::InputSchema { ~InputEnumSchema() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1759,7 +1946,7 @@ struct InputArraySchema { heap_object>> doc; heap_object> name; virtual ~InputArraySchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1772,9 +1959,9 @@ struct OutputRecordField { heap_object> label; heap_object>> secondaryFiles; heap_object> streamable; - heap_object> format; + heap_object> format; virtual ~OutputRecordField() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1787,7 +1974,7 @@ struct OutputRecordSchema { heap_object>> doc; heap_object> name; virtual ~OutputRecordSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1797,7 +1984,7 @@ struct OutputEnumSchema : https___w3id_org_cwl_salad::EnumSchema , https___w3id_org_cwl_cwl::OutputSchema { ~OutputEnumSchema() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1810,7 +1997,7 @@ struct OutputArraySchema { heap_object>> doc; heap_object> name; virtual ~OutputArraySchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1822,7 +2009,7 @@ struct InputParameter , https___w3id_org_cwl_cwl::LoadContents { heap_object> default_; virtual ~InputParameter() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1832,7 +2019,7 @@ struct OutputParameter : https___w3id_org_cwl_cwl::Parameter , https___w3id_org_cwl_cwl::OutputFormat { virtual ~OutputParameter() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1840,7 +2027,7 @@ struct OutputParameter namespace https___w3id_org_cwl_cwl { struct ProcessRequirement { virtual ~ProcessRequirement() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1857,7 +2044,7 @@ struct Process heap_object> cwlVersion; heap_object>> intent; virtual ~Process() = 0; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1868,7 +2055,7 @@ struct InlineJavascriptRequirement heap_object class_; heap_object>> expressionLib; ~InlineJavascriptRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1876,7 +2063,7 @@ struct InlineJavascriptRequirement namespace https___w3id_org_cwl_cwl { struct CommandInputSchema { virtual ~CommandInputSchema() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1887,17 +2074,17 @@ struct SchemaDefRequirement heap_object class_; heap_object>> types; ~SchemaDefRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } namespace https___w3id_org_cwl_cwl { struct SecondaryFileSchema { - heap_object> pattern; - heap_object> required; + heap_object> pattern; + heap_object> required; virtual ~SecondaryFileSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1908,7 +2095,7 @@ struct LoadListingRequirement heap_object class_; heap_object> loadListing; ~LoadListingRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1916,9 +2103,9 @@ struct LoadListingRequirement namespace https___w3id_org_cwl_cwl { struct EnvironmentDef { heap_object envName; - heap_object> envValue; + heap_object> envValue; virtual ~EnvironmentDef() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1926,14 +2113,14 @@ struct EnvironmentDef { namespace https___w3id_org_cwl_cwl { struct CommandLineBinding : https___w3id_org_cwl_cwl::InputBinding { - heap_object> position; + heap_object> position; heap_object> prefix; heap_object> separate; heap_object> itemSeparator; - heap_object> valueFrom; + heap_object> valueFrom; heap_object> shellQuote; ~CommandLineBinding() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1941,10 +2128,10 @@ struct CommandLineBinding namespace https___w3id_org_cwl_cwl { struct CommandOutputBinding : https___w3id_org_cwl_cwl::LoadContents { - heap_object>> glob; - heap_object> outputEval; + heap_object>> glob; + heap_object> outputEval; ~CommandOutputBinding() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -1953,7 +2140,7 @@ namespace https___w3id_org_cwl_cwl { struct CommandLineBindable { heap_object> inputBinding; virtual ~CommandLineBindable() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1966,12 +2153,12 @@ struct CommandInputRecordField { heap_object> label; heap_object>> secondaryFiles; heap_object> streamable; - heap_object, Expression>> format; + heap_object, cwl_expression_string>> format; heap_object> loadContents; heap_object> loadListing; heap_object> inputBinding; virtual ~CommandInputRecordField() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1985,7 +2172,7 @@ struct CommandInputRecordSchema { heap_object> name; heap_object> inputBinding; virtual ~CommandInputRecordSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -1999,7 +2186,7 @@ struct CommandInputEnumSchema { heap_object>> doc; heap_object> inputBinding; virtual ~CommandInputEnumSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2013,7 +2200,7 @@ struct CommandInputArraySchema { heap_object> name; heap_object> inputBinding; virtual ~CommandInputArraySchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2026,10 +2213,10 @@ struct CommandOutputRecordField { heap_object> label; heap_object>> secondaryFiles; heap_object> streamable; - heap_object> format; + heap_object> format; heap_object> outputBinding; virtual ~CommandOutputRecordField() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2042,7 +2229,7 @@ struct CommandOutputRecordSchema { heap_object>> doc; heap_object> name; virtual ~CommandOutputRecordSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2055,7 +2242,7 @@ struct CommandOutputEnumSchema { heap_object> label; heap_object>> doc; virtual ~CommandOutputEnumSchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2068,7 +2255,7 @@ struct CommandOutputArraySchema { heap_object>> doc; heap_object> name; virtual ~CommandOutputArraySchema() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2079,7 +2266,7 @@ struct CommandInputParameter heap_object>>> type; heap_object> inputBinding; ~CommandInputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2090,7 +2277,7 @@ struct CommandOutputParameter heap_object>>> type; heap_object> outputBinding; ~CommandOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2108,15 +2295,15 @@ struct CommandLineTool { heap_object>> intent; heap_object class_; heap_object>> baseCommand; - heap_object>>> arguments; - heap_object> stdin_; - heap_object> stderr_; - heap_object> stdout_; + heap_object>>> arguments; + heap_object> stdin_; + heap_object> stderr_; + heap_object> stdout_; heap_object>> successCodes; heap_object>> temporaryFailCodes; heap_object>> permanentFailCodes; virtual ~CommandLineTool() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2132,7 +2319,7 @@ struct DockerRequirement heap_object> dockerImageId; heap_object> dockerOutputDirectory; ~DockerRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2143,7 +2330,7 @@ struct SoftwareRequirement heap_object class_; heap_object> packages; ~SoftwareRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2154,18 +2341,18 @@ struct SoftwarePackage { heap_object>> version; heap_object>> specs; virtual ~SoftwarePackage() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } namespace https___w3id_org_cwl_cwl { struct Dirent { - heap_object> entryname; - heap_object> entry; + heap_object> entryname; + heap_object> entry; heap_object> writable; virtual ~Dirent() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2174,9 +2361,9 @@ namespace https___w3id_org_cwl_cwl { struct InitialWorkDirRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; - heap_object>>>>> listing; + heap_object>>>>> listing; ~InitialWorkDirRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2187,7 +2374,7 @@ struct EnvVarRequirement heap_object class_; heap_object> envDef; ~EnvVarRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2197,7 +2384,7 @@ struct ShellCommandRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; ~ShellCommandRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2206,16 +2393,16 @@ namespace https___w3id_org_cwl_cwl { struct ResourceRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; - heap_object> coresMin; - heap_object> coresMax; - heap_object> ramMin; - heap_object> ramMax; - heap_object> tmpdirMin; - heap_object> tmpdirMax; - heap_object> outdirMin; - heap_object> outdirMax; + heap_object> coresMin; + heap_object> coresMax; + heap_object> ramMin; + heap_object> ramMax; + heap_object> tmpdirMin; + heap_object> tmpdirMax; + heap_object> outdirMin; + heap_object> outdirMax; ~ResourceRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2224,9 +2411,9 @@ namespace https___w3id_org_cwl_cwl { struct WorkReuse : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; - heap_object> enableReuse; + heap_object> enableReuse; ~WorkReuse() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2235,9 +2422,9 @@ namespace https___w3id_org_cwl_cwl { struct NetworkAccess : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; - heap_object> networkAccess; + heap_object> networkAccess; ~NetworkAccess() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2248,7 +2435,7 @@ struct InplaceUpdateRequirement heap_object class_; heap_object inplaceUpdate; ~InplaceUpdateRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2257,9 +2444,9 @@ namespace https___w3id_org_cwl_cwl { struct ToolTimeLimit : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; - heap_object> timelimit; + heap_object> timelimit; ~ToolTimeLimit() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2269,7 +2456,7 @@ struct ExpressionToolOutputParameter : https___w3id_org_cwl_cwl::OutputParameter { heap_object>>> type; ~ExpressionToolOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2280,7 +2467,7 @@ struct WorkflowInputParameter heap_object>>> type; heap_object> inputBinding; ~WorkflowInputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2297,9 +2484,9 @@ struct ExpressionTool { heap_object> cwlVersion; heap_object>> intent; heap_object class_; - heap_object expression; + heap_object expression; virtual ~ExpressionTool() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2312,7 +2499,7 @@ struct WorkflowOutputParameter heap_object> pickValue; heap_object>>> type; ~WorkflowOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2323,7 +2510,7 @@ struct Sink { heap_object> linkMerge; heap_object> pickValue; virtual ~Sink() = 0; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2335,9 +2522,9 @@ struct WorkflowStepInput , https___w3id_org_cwl_cwl::LoadContents , https___w3id_org_cwl_cwl::Labeled { heap_object> default_; - heap_object> valueFrom; + heap_object> valueFrom; ~WorkflowStepInput() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2346,7 +2533,7 @@ namespace https___w3id_org_cwl_cwl { struct WorkflowStepOutput : https___w3id_org_cwl_cwl::Identified { ~WorkflowStepOutput() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2361,11 +2548,11 @@ struct WorkflowStep heap_object>>> requirements; heap_object>> hints; heap_object> run; - heap_object> when; + heap_object> when; heap_object>> scatter; heap_object> scatterMethod; ~WorkflowStep() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2384,7 +2571,7 @@ struct Workflow { heap_object class_; heap_object> steps; virtual ~Workflow() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2394,7 +2581,7 @@ struct SubworkflowFeatureRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; ~SubworkflowFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2404,7 +2591,7 @@ struct ScatterFeatureRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; ~ScatterFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2414,7 +2601,7 @@ struct MultipleInputFeatureRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; ~MultipleInputFeatureRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2424,7 +2611,7 @@ struct StepInputExpressionRequirement : https___w3id_org_cwl_cwl::ProcessRequirement { heap_object class_; ~StepInputExpressionRequirement() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2434,7 +2621,7 @@ struct OperationInputParameter : https___w3id_org_cwl_cwl::InputParameter { heap_object>>> type; ~OperationInputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2444,7 +2631,7 @@ struct OperationOutputParameter : https___w3id_org_cwl_cwl::OutputParameter { heap_object>>> type; ~OperationOutputParameter() override = default; - auto toYaml() const -> YAML::Node override; + auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } @@ -2462,7 +2649,7 @@ struct Operation { heap_object>> intent; heap_object class_; virtual ~Operation() = default; - virtual auto toYaml() const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } @@ -2471,31 +2658,61 @@ template heap_object::~heap_object() = default; inline https___w3id_org_cwl_salad::Documented::~Documented() = default; -inline auto https___w3id_org_cwl_salad::Documented::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_salad::Documented::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); + if (config.generateTags) { + n.SetTag("Documented"); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } return n; } inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } } -inline auto https___w3id_org_cwl_salad::RecordField::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_salad::RecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("RecordField"); + } + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_salad::Documented::fromYaml(n); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2518,22 +2735,38 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("RecordSchema"); + } + { + auto member = toYaml(*fields, config); + member = convertListToMap(member, "name", "type", config); + addYamlField(n, "fields", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_salad::RecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["fields"], "name", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *fields); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2556,21 +2789,48 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::EnumSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_salad::EnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "symbols", toYaml(*symbols)); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("EnumSchema"); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*symbols, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "symbols", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_salad::EnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["name"], *name); - fromYaml(n["symbols"], *symbols); - fromYaml(n["type"], *type); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["symbols"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *symbols); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2599,19 +2859,38 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::ArraySchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_salad::ArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "items", toYaml(*items)); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("ArraySchema"); + } + { + auto member = toYaml(*items, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "items", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_salad::ArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["items"], *items); - fromYaml(n["type"], *type); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["items"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *items); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2634,39 +2913,137 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::File::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::File::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "location", toYaml(*location)); - addYamlField(n, "path", toYaml(*path)); - addYamlField(n, "basename", toYaml(*basename)); - addYamlField(n, "dirname", toYaml(*dirname)); - addYamlField(n, "nameroot", toYaml(*nameroot)); - addYamlField(n, "nameext", toYaml(*nameext)); - addYamlField(n, "checksum", toYaml(*checksum)); - addYamlField(n, "size", toYaml(*size)); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "format", toYaml(*format)); - addYamlField(n, "contents", toYaml(*contents)); + if (config.generateTags) { + n.SetTag("File"); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*location, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "location", member); + } + { + auto member = toYaml(*path, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "path", member); + } + { + auto member = toYaml(*basename, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "basename", member); + } + { + auto member = toYaml(*dirname, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dirname", member); + } + { + auto member = toYaml(*nameroot, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "nameroot", member); + } + { + auto member = toYaml(*nameext, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "nameext", member); + } + { + auto member = toYaml(*checksum, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "checksum", member); + } + { + auto member = toYaml(*size, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "size", member); + } + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } + { + auto member = toYaml(*contents, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "contents", member); + } return n; } inline void https___w3id_org_cwl_cwl::File::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["class"], *class_); - fromYaml(n["location"], *location); - fromYaml(n["path"], *path); - fromYaml(n["basename"], *basename); - fromYaml(n["dirname"], *dirname); - fromYaml(n["nameroot"], *nameroot); - fromYaml(n["nameext"], *nameext); - fromYaml(n["checksum"], *checksum); - fromYaml(n["size"], *size); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["format"], *format); - fromYaml(n["contents"], *contents); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["location"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *location); + } + { + auto nodeAsList = convertMapToList(n["path"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *path); + } + { + auto nodeAsList = convertMapToList(n["basename"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *basename); + } + { + auto nodeAsList = convertMapToList(n["dirname"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dirname); + } + { + auto nodeAsList = convertMapToList(n["nameroot"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *nameroot); + } + { + auto nodeAsList = convertMapToList(n["nameext"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *nameext); + } + { + auto nodeAsList = convertMapToList(n["checksum"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *checksum); + } + { + auto nodeAsList = convertMapToList(n["size"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *size); + } + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } + { + auto nodeAsList = convertMapToList(n["contents"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *contents); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2749,25 +3126,67 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Directory::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Directory::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "location", toYaml(*location)); - addYamlField(n, "path", toYaml(*path)); - addYamlField(n, "basename", toYaml(*basename)); - addYamlField(n, "listing", toYaml(*listing)); + if (config.generateTags) { + n.SetTag("Directory"); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*location, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "location", member); + } + { + auto member = toYaml(*path, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "path", member); + } + { + auto member = toYaml(*basename, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "basename", member); + } + { + auto member = toYaml(*listing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "listing", member); + } return n; } inline void https___w3id_org_cwl_cwl::Directory::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["class"], *class_); - fromYaml(n["location"], *location); - fromYaml(n["path"], *path); - fromYaml(n["basename"], *basename); - fromYaml(n["listing"], *listing); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["location"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *location); + } + { + auto nodeAsList = convertMapToList(n["path"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *path); + } + { + auto nodeAsList = convertMapToList(n["basename"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *basename); + } + { + auto nodeAsList = convertMapToList(n["listing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *listing); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2809,103 +3228,198 @@ struct DetectAndExtractFromYaml { } }; inline https___w3id_org_cwl_cwl::Labeled::~Labeled() = default; -inline auto https___w3id_org_cwl_cwl::Labeled::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Labeled::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "label", toYaml(*label)); + if (config.generateTags) { + n.SetTag("Labeled"); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } return n; } inline void https___w3id_org_cwl_cwl::Labeled::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["label"], *label); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } } inline https___w3id_org_cwl_cwl::Identified::~Identified() = default; -inline auto https___w3id_org_cwl_cwl::Identified::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Identified::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); + if (config.generateTags) { + n.SetTag("Identified"); + } + { + auto member = toYaml(*id, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "id", member); + } return n; } inline void https___w3id_org_cwl_cwl::Identified::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["id"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *id); + } } inline https___w3id_org_cwl_cwl::LoadContents::~LoadContents() = default; -inline auto https___w3id_org_cwl_cwl::LoadContents::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::LoadContents::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "loadContents", toYaml(*loadContents)); - addYamlField(n, "loadListing", toYaml(*loadListing)); + if (config.generateTags) { + n.SetTag("LoadContents"); + } + { + auto member = toYaml(*loadContents, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadContents", member); + } + { + auto member = toYaml(*loadListing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadListing", member); + } return n; } inline void https___w3id_org_cwl_cwl::LoadContents::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["loadContents"], *loadContents); - fromYaml(n["loadListing"], *loadListing); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["loadContents"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadContents); + } + { + auto nodeAsList = convertMapToList(n["loadListing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadListing); + } } inline https___w3id_org_cwl_cwl::FieldBase::~FieldBase() = default; -inline auto https___w3id_org_cwl_cwl::FieldBase::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::FieldBase::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "streamable", toYaml(*streamable)); + if (config.generateTags) { + n.SetTag("FieldBase"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*streamable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "streamable", member); + } return n; } inline void https___w3id_org_cwl_cwl::FieldBase::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["streamable"], *streamable); + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["streamable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *streamable); + } } inline https___w3id_org_cwl_cwl::InputFormat::~InputFormat() = default; -inline auto https___w3id_org_cwl_cwl::InputFormat::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputFormat::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "format", toYaml(*format)); + if (config.generateTags) { + n.SetTag("InputFormat"); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["format"], *format); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } } inline https___w3id_org_cwl_cwl::OutputFormat::~OutputFormat() = default; -inline auto https___w3id_org_cwl_cwl::OutputFormat::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputFormat::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "format", toYaml(*format)); + if (config.generateTags) { + n.SetTag("OutputFormat"); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } return n; } inline void https___w3id_org_cwl_cwl::OutputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["format"], *format); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } } inline https___w3id_org_cwl_cwl::Parameter::~Parameter() = default; -inline auto https___w3id_org_cwl_cwl::Parameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Parameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::FieldBase::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); + if (config.generateTags) { + n.SetTag("Parameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::FieldBase::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::Parameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::FieldBase::fromYaml(n); https___w3id_org_cwl_salad::Documented::fromYaml(n); https___w3id_org_cwl_cwl::Identified::fromYaml(n); } -inline auto https___w3id_org_cwl_cwl::InputBinding::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "loadContents", toYaml(*loadContents)); + if (config.generateTags) { + n.SetTag("InputBinding"); + } + { + auto member = toYaml(*loadContents, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadContents", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["loadContents"], *loadContents); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["loadContents"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadContents); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -2923,69 +3437,161 @@ struct DetectAndExtractFromYaml { } }; inline https___w3id_org_cwl_cwl::IOSchema::~IOSchema() = default; -inline auto https___w3id_org_cwl_cwl::IOSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::IOSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("IOSchema"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::IOSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Labeled::fromYaml(n); https___w3id_org_cwl_salad::Documented::fromYaml(n); - fromYaml(n["name"], *name); + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } inline https___w3id_org_cwl_cwl::InputSchema::~InputSchema() = default; -inline auto https___w3id_org_cwl_cwl::InputSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml()); + if (config.generateTags) { + n.SetTag("InputSchema"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::InputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::IOSchema::fromYaml(n); } inline https___w3id_org_cwl_cwl::OutputSchema::~OutputSchema() = default; -inline auto https___w3id_org_cwl_cwl::OutputSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml()); + if (config.generateTags) { + n.SetTag("OutputSchema"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::OutputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::IOSchema::fromYaml(n); } -inline auto https___w3id_org_cwl_cwl::InputRecordField::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "streamable", toYaml(*streamable)); - addYamlField(n, "format", toYaml(*format)); - addYamlField(n, "loadContents", toYaml(*loadContents)); - addYamlField(n, "loadListing", toYaml(*loadListing)); + if (config.generateTags) { + n.SetTag("InputRecordField"); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*streamable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "streamable", member); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } + { + auto member = toYaml(*loadContents, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadContents", member); + } + { + auto member = toYaml(*loadListing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadListing", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["streamable"], *streamable); - fromYaml(n["format"], *format); - fromYaml(n["loadContents"], *loadContents); - fromYaml(n["loadListing"], *loadListing); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["streamable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *streamable); + } + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } + { + auto nodeAsList = convertMapToList(n["loadContents"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadContents); + } + { + auto nodeAsList = convertMapToList(n["loadListing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadListing); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3050,28 +3656,68 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputRecordSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("InputRecordSchema"); + } + { + auto member = toYaml(*fields, config); + member = convertListToMap(member, "name", "type", config); + addYamlField(n, "fields", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["fields"], "name", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *fields); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3112,19 +3758,21 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputEnumSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputSchema::toYaml()); + if (config.generateTags) { + n.SetTag("InputEnumSchema"); + } + n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputSchema::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::InputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_salad::EnumSchema::fromYaml(n); https___w3id_org_cwl_cwl::InputSchema::fromYaml(n); } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3135,25 +3783,68 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputArraySchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "items", toYaml(*items)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("InputArraySchema"); + } + { + auto member = toYaml(*items, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "items", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["items"], *items); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["items"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *items); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3194,29 +3885,88 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputRecordField::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "streamable", toYaml(*streamable)); - addYamlField(n, "format", toYaml(*format)); + if (config.generateTags) { + n.SetTag("OutputRecordField"); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*streamable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "streamable", member); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } return n; } inline void https___w3id_org_cwl_cwl::OutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["streamable"], *streamable); - fromYaml(n["format"], *format); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["streamable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *streamable); + } + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3269,28 +4019,68 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputRecordSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("OutputRecordSchema"); + } + { + auto member = toYaml(*fields, config); + member = convertListToMap(member, "name", "type", config); + addYamlField(n, "fields", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::OutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["fields"], "name", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *fields); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3331,19 +4121,21 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputEnumSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputSchema::toYaml()); + if (config.generateTags) { + n.SetTag("OutputEnumSchema"); + } + n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputSchema::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::OutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_salad::EnumSchema::fromYaml(n); https___w3id_org_cwl_cwl::OutputSchema::fromYaml(n); } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3354,25 +4146,68 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputArraySchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "items", toYaml(*items)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("OutputArraySchema"); + } + { + auto member = toYaml(*items, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "items", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::OutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["items"], *items); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); -} - + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["items"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *items); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } +} template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3414,98 +4249,172 @@ struct DetectAndExtractFromYaml { } }; inline https___w3id_org_cwl_cwl::InputParameter::~InputParameter() = default; -inline auto https___w3id_org_cwl_cwl::InputParameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputFormat::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml()); - addYamlField(n, "default", toYaml(*default_)); + if (config.generateTags) { + n.SetTag("InputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputFormat::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); + { + auto member = toYaml(*default_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "default", member); + } return n; } inline void https___w3id_org_cwl_cwl::InputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Parameter::fromYaml(n); https___w3id_org_cwl_cwl::InputFormat::fromYaml(n); https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); - fromYaml(n["default"], *default_); + { + auto nodeAsList = convertMapToList(n["default"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *default_); + } } inline https___w3id_org_cwl_cwl::OutputParameter::~OutputParameter() = default; -inline auto https___w3id_org_cwl_cwl::OutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputFormat::toYaml()); + if (config.generateTags) { + n.SetTag("OutputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputFormat::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::OutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Parameter::fromYaml(n); https___w3id_org_cwl_cwl::OutputFormat::fromYaml(n); } inline https___w3id_org_cwl_cwl::ProcessRequirement::~ProcessRequirement() = default; -inline auto https___w3id_org_cwl_cwl::ProcessRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ProcessRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; + if (config.generateTags) { + n.SetTag("ProcessRequirement"); + } return n; } inline void https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; } inline https___w3id_org_cwl_cwl::Process::~Process() = default; -inline auto https___w3id_org_cwl_cwl::Process::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Process::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); + if (config.generateTags) { + n.SetTag("Process"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + { + auto member = toYaml(*inputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "inputs", member); + } + { + auto member = toYaml(*outputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "outputs", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*cwlVersion, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "cwlVersion", member); + } + { + auto member = toYaml(*intent, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "intent", member); + } return n; } inline void https___w3id_org_cwl_cwl::Process::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Identified::fromYaml(n); https___w3id_org_cwl_cwl::Labeled::fromYaml(n); https___w3id_org_cwl_salad::Documented::fromYaml(n); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); + { + auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputs); + } + { + auto nodeAsList = convertMapToList(n["outputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputs); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["cwlVersion"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *cwlVersion); + } + { + auto nodeAsList = convertMapToList(n["intent"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *intent); + } } -inline auto https___w3id_org_cwl_cwl::InlineJavascriptRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InlineJavascriptRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "expressionLib", toYaml(*expressionLib)); + if (config.generateTags) { + n.SetTag("InlineJavascriptRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*expressionLib, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "expressionLib", member); + } return n; } inline void https___w3id_org_cwl_cwl::InlineJavascriptRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["expressionLib"], *expressionLib); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["expressionLib"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *expressionLib); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3529,29 +4438,50 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; + if (config.generateTags) { + n.SetTag("CommandInputSchema"); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; } -inline auto https___w3id_org_cwl_cwl::SchemaDefRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::SchemaDefRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "types", toYaml(*types)); + if (config.generateTags) { + n.SetTag("SchemaDefRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*types, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "types", member); + } return n; } inline void https___w3id_org_cwl_cwl::SchemaDefRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["types"], *types); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["types"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *types); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3574,19 +4504,37 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SecondaryFileSchema::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::SecondaryFileSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "pattern", toYaml(*pattern)); - addYamlField(n, "required", toYaml(*required)); + if (config.generateTags) { + n.SetTag("SecondaryFileSchema"); + } + { + auto member = toYaml(*pattern, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "pattern", member); + } + { + auto member = toYaml(*required, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "required", member); + } return n; } inline void https___w3id_org_cwl_cwl::SecondaryFileSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["pattern"], *pattern); - fromYaml(n["required"], *required); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["pattern"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *pattern); + } + { + auto nodeAsList = convertMapToList(n["required"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *required); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3609,21 +4557,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::LoadListingRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::LoadListingRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "loadListing", toYaml(*loadListing)); + if (config.generateTags) { + n.SetTag("LoadListingRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*loadListing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadListing", member); + } return n; } inline void https___w3id_org_cwl_cwl::LoadListingRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["loadListing"], *loadListing); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["loadListing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadListing); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3646,19 +4612,37 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::EnvironmentDef::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "envName", toYaml(*envName)); - addYamlField(n, "envValue", toYaml(*envValue)); + if (config.generateTags) { + n.SetTag("EnvironmentDef"); + } + { + auto member = toYaml(*envName, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "envName", member); + } + { + auto member = toYaml(*envValue, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "envValue", member); + } return n; } inline void https___w3id_org_cwl_cwl::EnvironmentDef::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["envName"], *envName); - fromYaml(n["envValue"], *envValue); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["envName"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *envName); + } + { + auto nodeAsList = convertMapToList(n["envValue"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *envValue); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3681,29 +4665,79 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandLineBinding::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandLineBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputBinding::toYaml()); - addYamlField(n, "position", toYaml(*position)); - addYamlField(n, "prefix", toYaml(*prefix)); - addYamlField(n, "separate", toYaml(*separate)); - addYamlField(n, "itemSeparator", toYaml(*itemSeparator)); - addYamlField(n, "valueFrom", toYaml(*valueFrom)); - addYamlField(n, "shellQuote", toYaml(*shellQuote)); + if (config.generateTags) { + n.SetTag("CommandLineBinding"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputBinding::toYaml(config)); + { + auto member = toYaml(*position, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "position", member); + } + { + auto member = toYaml(*prefix, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "prefix", member); + } + { + auto member = toYaml(*separate, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "separate", member); + } + { + auto member = toYaml(*itemSeparator, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "itemSeparator", member); + } + { + auto member = toYaml(*valueFrom, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "valueFrom", member); + } + { + auto member = toYaml(*shellQuote, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "shellQuote", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandLineBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::InputBinding::fromYaml(n); - fromYaml(n["position"], *position); - fromYaml(n["prefix"], *prefix); - fromYaml(n["separate"], *separate); - fromYaml(n["itemSeparator"], *itemSeparator); - fromYaml(n["valueFrom"], *valueFrom); - fromYaml(n["shellQuote"], *shellQuote); + { + auto nodeAsList = convertMapToList(n["position"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *position); + } + { + auto nodeAsList = convertMapToList(n["prefix"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *prefix); + } + { + auto nodeAsList = convertMapToList(n["separate"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *separate); + } + { + auto nodeAsList = convertMapToList(n["itemSeparator"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *itemSeparator); + } + { + auto nodeAsList = convertMapToList(n["valueFrom"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *valueFrom); + } + { + auto nodeAsList = convertMapToList(n["shellQuote"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *shellQuote); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3750,21 +4784,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandOutputBinding::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml()); - addYamlField(n, "glob", toYaml(*glob)); - addYamlField(n, "outputEval", toYaml(*outputEval)); + if (config.generateTags) { + n.SetTag("CommandOutputBinding"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); + { + auto member = toYaml(*glob, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "glob", member); + } + { + auto member = toYaml(*outputEval, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outputEval", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); - fromYaml(n["glob"], *glob); - fromYaml(n["outputEval"], *outputEval); + { + auto nodeAsList = convertMapToList(n["glob"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *glob); + } + { + auto nodeAsList = convertMapToList(n["outputEval"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputEval); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3787,17 +4839,27 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandLineBindable::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandLineBindable::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandLineBindable"); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandLineBindable::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["inputBinding"], *inputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3814,35 +4876,118 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandInputRecordField::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "streamable", toYaml(*streamable)); - addYamlField(n, "format", toYaml(*format)); - addYamlField(n, "loadContents", toYaml(*loadContents)); - addYamlField(n, "loadListing", toYaml(*loadListing)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandInputRecordField"); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*streamable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "streamable", member); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } + { + auto member = toYaml(*loadContents, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadContents", member); + } + { + auto member = toYaml(*loadListing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "loadListing", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["streamable"], *streamable); - fromYaml(n["format"], *format); - fromYaml(n["loadContents"], *loadContents); - fromYaml(n["loadListing"], *loadListing); - fromYaml(n["inputBinding"], *inputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["streamable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *streamable); + } + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } + { + auto nodeAsList = convertMapToList(n["loadContents"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadContents); + } + { + auto nodeAsList = convertMapToList(n["loadListing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *loadListing); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3913,30 +5058,78 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandInputRecordSchema"); + } + { + auto member = toYaml(*fields, config); + member = convertListToMap(member, "name", "type", config); + addYamlField(n, "fields", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["inputBinding"], *inputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["fields"], "name", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *fields); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -3983,27 +5176,78 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "symbols", toYaml(*symbols)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandInputEnumSchema"); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*symbols, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "symbols", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["name"], *name); - fromYaml(n["symbols"], *symbols); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["inputBinding"], *inputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["symbols"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *symbols); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4050,27 +5294,78 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "items", toYaml(*items)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandInputArraySchema"); + } + { + auto member = toYaml(*items, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "items", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["items"], *items); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["inputBinding"], *inputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["items"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *items); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4117,31 +5412,98 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "secondaryFiles", toYaml(*secondaryFiles)); - addYamlField(n, "streamable", toYaml(*streamable)); - addYamlField(n, "format", toYaml(*format)); - addYamlField(n, "outputBinding", toYaml(*outputBinding)); + if (config.generateTags) { + n.SetTag("CommandOutputRecordField"); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*secondaryFiles, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "secondaryFiles", member); + } + { + auto member = toYaml(*streamable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "streamable", member); + } + { + auto member = toYaml(*format, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "format", member); + } + { + auto member = toYaml(*outputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["secondaryFiles"], *secondaryFiles); - fromYaml(n["streamable"], *streamable); - fromYaml(n["format"], *format); - fromYaml(n["outputBinding"], *outputBinding); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *secondaryFiles); + } + { + auto nodeAsList = convertMapToList(n["streamable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *streamable); + } + { + auto nodeAsList = convertMapToList(n["format"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *format); + } + { + auto nodeAsList = convertMapToList(n["outputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4200,28 +5562,68 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "fields", - convertListToMap(toYaml(*fields), "name")); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("CommandOutputRecordSchema"); + } + { + auto member = toYaml(*fields, config); + member = convertListToMap(member, "name", "type", config); + addYamlField(n, "fields", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - - fromYaml(convertMapToList(n["fields"], -"name"), *fields); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["fields"], "name", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *fields); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4262,25 +5664,68 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "name", toYaml(*name)); - addYamlField(n, "symbols", toYaml(*symbols)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); + if (config.generateTags) { + n.SetTag("CommandOutputEnumSchema"); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } + { + auto member = toYaml(*symbols, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "symbols", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["name"], *name); - fromYaml(n["symbols"], *symbols); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } + { + auto nodeAsList = convertMapToList(n["symbols"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *symbols); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4321,25 +5766,68 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "items", toYaml(*items)); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "name", toYaml(*name)); + if (config.generateTags) { + n.SetTag("CommandOutputArraySchema"); + } + { + auto member = toYaml(*items, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "items", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*name, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "name", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["items"], *items); - fromYaml(n["type"], *type); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - fromYaml(n["name"], *name); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["items"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *items); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["name"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *name); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4380,21 +5868,40 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandInputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("CommandInputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); - fromYaml(n["type"], *type); - fromYaml(n["inputBinding"], *inputBinding); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4417,21 +5924,40 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "outputBinding", toYaml(*outputBinding)); + if (config.generateTags) { + n.SetTag("CommandOutputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*outputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["type"], *type); - fromYaml(n["outputBinding"], *outputBinding); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["outputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4454,63 +5980,197 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::CommandLineTool::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "baseCommand", toYaml(*baseCommand)); - addYamlField(n, "arguments", toYaml(*arguments)); - addYamlField(n, "stdin", toYaml(*stdin_)); - addYamlField(n, "stderr", toYaml(*stderr_)); - addYamlField(n, "stdout", toYaml(*stdout_)); - addYamlField(n, "successCodes", toYaml(*successCodes)); - addYamlField(n, "temporaryFailCodes", toYaml(*temporaryFailCodes)); - addYamlField(n, "permanentFailCodes", toYaml(*permanentFailCodes)); + if (config.generateTags) { + n.SetTag("CommandLineTool"); + } + { + auto member = toYaml(*id, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "id", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*inputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "inputs", member); + } + { + auto member = toYaml(*outputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "outputs", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*cwlVersion, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "cwlVersion", member); + } + { + auto member = toYaml(*intent, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "intent", member); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*baseCommand, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "baseCommand", member); + } + { + auto member = toYaml(*arguments, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "arguments", member); + } + { + auto member = toYaml(*stdin_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "stdin", member); + } + { + auto member = toYaml(*stderr_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "stderr", member); + } + { + auto member = toYaml(*stdout_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "stdout", member); + } + { + auto member = toYaml(*successCodes, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "successCodes", member); + } + { + auto member = toYaml(*temporaryFailCodes, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "temporaryFailCodes", member); + } + { + auto member = toYaml(*permanentFailCodes, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "permanentFailCodes", member); + } return n; } inline void https___w3id_org_cwl_cwl::CommandLineTool::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); - fromYaml(n["baseCommand"], *baseCommand); - fromYaml(n["arguments"], *arguments); - fromYaml(n["stdin"], *stdin_); - fromYaml(n["stderr"], *stderr_); - fromYaml(n["stdout"], *stdout_); - fromYaml(n["successCodes"], *successCodes); - fromYaml(n["temporaryFailCodes"], *temporaryFailCodes); - fromYaml(n["permanentFailCodes"], *permanentFailCodes); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["id"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *id); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputs); + } + { + auto nodeAsList = convertMapToList(n["outputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputs); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["cwlVersion"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *cwlVersion); + } + { + auto nodeAsList = convertMapToList(n["intent"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *intent); + } + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["baseCommand"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *baseCommand); + } + { + auto nodeAsList = convertMapToList(n["arguments"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *arguments); + } + { + auto nodeAsList = convertMapToList(n["stdin"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *stdin_); + } + { + auto nodeAsList = convertMapToList(n["stderr"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *stderr_); + } + { + auto nodeAsList = convertMapToList(n["stdout"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *stdout_); + } + { + auto nodeAsList = convertMapToList(n["successCodes"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *successCodes); + } + { + auto nodeAsList = convertMapToList(n["temporaryFailCodes"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *temporaryFailCodes); + } + { + auto nodeAsList = convertMapToList(n["permanentFailCodes"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *permanentFailCodes); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4629,31 +6289,89 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::DockerRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::DockerRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "dockerPull", toYaml(*dockerPull)); - addYamlField(n, "dockerLoad", toYaml(*dockerLoad)); - addYamlField(n, "dockerFile", toYaml(*dockerFile)); - addYamlField(n, "dockerImport", toYaml(*dockerImport)); - addYamlField(n, "dockerImageId", toYaml(*dockerImageId)); - addYamlField(n, "dockerOutputDirectory", toYaml(*dockerOutputDirectory)); + if (config.generateTags) { + n.SetTag("DockerRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*dockerPull, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerPull", member); + } + { + auto member = toYaml(*dockerLoad, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerLoad", member); + } + { + auto member = toYaml(*dockerFile, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerFile", member); + } + { + auto member = toYaml(*dockerImport, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerImport", member); + } + { + auto member = toYaml(*dockerImageId, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerImageId", member); + } + { + auto member = toYaml(*dockerOutputDirectory, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "dockerOutputDirectory", member); + } return n; } inline void https___w3id_org_cwl_cwl::DockerRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["dockerPull"], *dockerPull); - fromYaml(n["dockerLoad"], *dockerLoad); - fromYaml(n["dockerFile"], *dockerFile); - fromYaml(n["dockerImport"], *dockerImport); - fromYaml(n["dockerImageId"], *dockerImageId); - fromYaml(n["dockerOutputDirectory"], *dockerOutputDirectory); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["dockerPull"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerPull); + } + { + auto nodeAsList = convertMapToList(n["dockerLoad"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerLoad); + } + { + auto nodeAsList = convertMapToList(n["dockerFile"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerFile); + } + { + auto nodeAsList = convertMapToList(n["dockerImport"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerImport); + } + { + auto nodeAsList = convertMapToList(n["dockerImageId"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerImageId); + } + { + auto nodeAsList = convertMapToList(n["dockerOutputDirectory"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *dockerOutputDirectory); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4706,24 +6424,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SoftwareRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::SoftwareRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "packages", - convertListToMap(toYaml(*packages), "package")); + if (config.generateTags) { + n.SetTag("SoftwareRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*packages, config); + member = convertListToMap(member, "package", "specs", config); + addYamlField(n, "packages", member); + } return n; } inline void https___w3id_org_cwl_cwl::SoftwareRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - - fromYaml(convertMapToList(n["packages"], -"package"), *packages); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["packages"], "package", "specs"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *packages); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4746,21 +6479,47 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SoftwarePackage::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::SoftwarePackage::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "package", toYaml(*package)); - addYamlField(n, "version", toYaml(*version)); - addYamlField(n, "specs", toYaml(*specs)); + if (config.generateTags) { + n.SetTag("SoftwarePackage"); + } + { + auto member = toYaml(*package, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "package", member); + } + { + auto member = toYaml(*version, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "version", member); + } + { + auto member = toYaml(*specs, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "specs", member); + } return n; } inline void https___w3id_org_cwl_cwl::SoftwarePackage::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["package"], *package); - fromYaml(n["version"], *version); - fromYaml(n["specs"], *specs); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["package"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *package); + } + { + auto nodeAsList = convertMapToList(n["version"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *version); + } + { + auto nodeAsList = convertMapToList(n["specs"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *specs); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4789,21 +6548,47 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Dirent::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Dirent::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "entryname", toYaml(*entryname)); - addYamlField(n, "entry", toYaml(*entry)); - addYamlField(n, "writable", toYaml(*writable)); + if (config.generateTags) { + n.SetTag("Dirent"); + } + { + auto member = toYaml(*entryname, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "entryname", member); + } + { + auto member = toYaml(*entry, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "entry", member); + } + { + auto member = toYaml(*writable, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "writable", member); + } return n; } inline void https___w3id_org_cwl_cwl::Dirent::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["entryname"], *entryname); - fromYaml(n["entry"], *entry); - fromYaml(n["writable"], *writable); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["entryname"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *entryname); + } + { + auto nodeAsList = convertMapToList(n["entry"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *entry); + } + { + auto nodeAsList = convertMapToList(n["writable"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *writable); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4832,21 +6617,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InitialWorkDirRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InitialWorkDirRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "listing", toYaml(*listing)); + if (config.generateTags) { + n.SetTag("InitialWorkDirRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*listing, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "listing", member); + } return n; } inline void https___w3id_org_cwl_cwl::InitialWorkDirRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["listing"], *listing); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["listing"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *listing); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4869,24 +6672,39 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::EnvVarRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "envDef", - convertListToMap(toYaml(*envDef), "envName")); + if (config.generateTags) { + n.SetTag("EnvVarRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*envDef, config); + member = convertListToMap(member, "envName", "envValue", config); + addYamlField(n, "envDef", member); + } return n; } inline void https___w3id_org_cwl_cwl::EnvVarRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - - fromYaml(convertMapToList(n["envDef"], -"envName"), *envDef); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["envDef"], "envName", "envValue"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *envDef); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4909,19 +6727,29 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::ShellCommandRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ShellCommandRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("ShellCommandRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::ShellCommandRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -4938,35 +6766,109 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ResourceRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "coresMin", toYaml(*coresMin)); - addYamlField(n, "coresMax", toYaml(*coresMax)); - addYamlField(n, "ramMin", toYaml(*ramMin)); - addYamlField(n, "ramMax", toYaml(*ramMax)); - addYamlField(n, "tmpdirMin", toYaml(*tmpdirMin)); - addYamlField(n, "tmpdirMax", toYaml(*tmpdirMax)); - addYamlField(n, "outdirMin", toYaml(*outdirMin)); - addYamlField(n, "outdirMax", toYaml(*outdirMax)); + if (config.generateTags) { + n.SetTag("ResourceRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*coresMin, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "coresMin", member); + } + { + auto member = toYaml(*coresMax, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "coresMax", member); + } + { + auto member = toYaml(*ramMin, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "ramMin", member); + } + { + auto member = toYaml(*ramMax, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "ramMax", member); + } + { + auto member = toYaml(*tmpdirMin, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "tmpdirMin", member); + } + { + auto member = toYaml(*tmpdirMax, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "tmpdirMax", member); + } + { + auto member = toYaml(*outdirMin, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outdirMin", member); + } + { + auto member = toYaml(*outdirMax, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outdirMax", member); + } return n; } inline void https___w3id_org_cwl_cwl::ResourceRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["coresMin"], *coresMin); - fromYaml(n["coresMax"], *coresMax); - fromYaml(n["ramMin"], *ramMin); - fromYaml(n["ramMax"], *ramMax); - fromYaml(n["tmpdirMin"], *tmpdirMin); - fromYaml(n["tmpdirMax"], *tmpdirMax); - fromYaml(n["outdirMin"], *outdirMin); - fromYaml(n["outdirMax"], *outdirMax); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["coresMin"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *coresMin); + } + { + auto nodeAsList = convertMapToList(n["coresMax"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *coresMax); + } + { + auto nodeAsList = convertMapToList(n["ramMin"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *ramMin); + } + { + auto nodeAsList = convertMapToList(n["ramMax"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *ramMax); + } + { + auto nodeAsList = convertMapToList(n["tmpdirMin"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *tmpdirMin); + } + { + auto nodeAsList = convertMapToList(n["tmpdirMax"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *tmpdirMax); + } + { + auto nodeAsList = convertMapToList(n["outdirMin"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outdirMin); + } + { + auto nodeAsList = convertMapToList(n["outdirMax"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outdirMax); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5031,21 +6933,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkReuse::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkReuse::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "enableReuse", toYaml(*enableReuse)); + if (config.generateTags) { + n.SetTag("WorkReuse"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*enableReuse, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "enableReuse", member); + } return n; } inline void https___w3id_org_cwl_cwl::WorkReuse::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["enableReuse"], *enableReuse); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["enableReuse"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *enableReuse); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5068,21 +6988,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::NetworkAccess::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::NetworkAccess::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "networkAccess", toYaml(*networkAccess)); + if (config.generateTags) { + n.SetTag("NetworkAccess"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*networkAccess, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "networkAccess", member); + } return n; } inline void https___w3id_org_cwl_cwl::NetworkAccess::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["networkAccess"], *networkAccess); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["networkAccess"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *networkAccess); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5105,21 +7043,39 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InplaceUpdateRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::InplaceUpdateRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "inplaceUpdate", toYaml(*inplaceUpdate)); + if (config.generateTags) { + n.SetTag("InplaceUpdateRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*inplaceUpdate, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inplaceUpdate", member); + } return n; } inline void https___w3id_org_cwl_cwl::InplaceUpdateRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["inplaceUpdate"], *inplaceUpdate); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["inplaceUpdate"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inplaceUpdate); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5142,21 +7098,39 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ToolTimeLimit::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "timelimit", toYaml(*timelimit)); + if (config.generateTags) { + n.SetTag("ToolTimeLimit"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*timelimit, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "timelimit", member); + } return n; } inline void https___w3id_org_cwl_cwl::ToolTimeLimit::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); - fromYaml(n["timelimit"], *timelimit); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["timelimit"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *timelimit); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5179,19 +7153,30 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("ExpressionToolOutputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["type"], *type); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5208,21 +7193,40 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkflowInputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); - addYamlField(n, "inputBinding", toYaml(*inputBinding)); + if (config.generateTags) { + n.SetTag("WorkflowInputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } + { + auto member = toYaml(*inputBinding, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "inputBinding", member); + } return n; } inline void https___w3id_org_cwl_cwl::WorkflowInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); - fromYaml(n["type"], *type); - fromYaml(n["inputBinding"], *inputBinding); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } + { + auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputBinding); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5245,49 +7249,127 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ExpressionTool::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "expression", toYaml(*expression)); + if (config.generateTags) { + n.SetTag("ExpressionTool"); + } + { + auto member = toYaml(*id, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "id", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*inputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "inputs", member); + } + { + auto member = toYaml(*outputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "outputs", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*cwlVersion, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "cwlVersion", member); + } + { + auto member = toYaml(*intent, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "intent", member); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*expression, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "expression", member); + } return n; } inline void https___w3id_org_cwl_cwl::ExpressionTool::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); - fromYaml(n["expression"], *expression); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["id"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *id); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputs); + } + { + auto nodeAsList = convertMapToList(n["outputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputs); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["cwlVersion"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *cwlVersion); + } + { + auto nodeAsList = convertMapToList(n["intent"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *intent); + } + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["expression"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *expression); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5364,25 +7446,60 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "outputSource", toYaml(*outputSource)); - addYamlField(n, "linkMerge", toYaml(*linkMerge)); - addYamlField(n, "pickValue", toYaml(*pickValue)); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("WorkflowOutputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + { + auto member = toYaml(*outputSource, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "outputSource", member); + } + { + auto member = toYaml(*linkMerge, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "linkMerge", member); + } + { + auto member = toYaml(*pickValue, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "pickValue", member); + } + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_cwl::WorkflowOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["outputSource"], *outputSource); - fromYaml(n["linkMerge"], *linkMerge); - fromYaml(n["pickValue"], *pickValue); - fromYaml(n["type"], *type); + { + auto nodeAsList = convertMapToList(n["outputSource"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputSource); + } + { + auto nodeAsList = convertMapToList(n["linkMerge"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *linkMerge); + } + { + auto nodeAsList = convertMapToList(n["pickValue"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *pickValue); + } + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5418,41 +7535,86 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Sink::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "source", toYaml(*source)); - addYamlField(n, "linkMerge", toYaml(*linkMerge)); - addYamlField(n, "pickValue", toYaml(*pickValue)); + if (config.generateTags) { + n.SetTag("Sink"); + } + { + auto member = toYaml(*source, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "source", member); + } + { + auto member = toYaml(*linkMerge, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "linkMerge", member); + } + { + auto member = toYaml(*pickValue, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "pickValue", member); + } return n; } inline void https___w3id_org_cwl_cwl::Sink::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["source"], *source); - fromYaml(n["linkMerge"], *linkMerge); - fromYaml(n["pickValue"], *pickValue); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["source"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *source); + } + { + auto nodeAsList = convertMapToList(n["linkMerge"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *linkMerge); + } + { + auto nodeAsList = convertMapToList(n["pickValue"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *pickValue); + } } -inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Sink::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - addYamlField(n, "default", toYaml(*default_)); - addYamlField(n, "valueFrom", toYaml(*valueFrom)); + if (config.generateTags) { + n.SetTag("WorkflowStepInput"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Sink::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + { + auto member = toYaml(*default_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "default", member); + } + { + auto member = toYaml(*valueFrom, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "valueFrom", member); + } return n; } inline void https___w3id_org_cwl_cwl::WorkflowStepInput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Identified::fromYaml(n); https___w3id_org_cwl_cwl::Sink::fromYaml(n); https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - fromYaml(n["default"], *default_); - fromYaml(n["valueFrom"], *valueFrom); + { + auto nodeAsList = convertMapToList(n["default"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *default_); + } + { + auto nodeAsList = convertMapToList(n["valueFrom"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *valueFrom); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5475,17 +7637,19 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowStepOutput::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkflowStepOutput::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); + if (config.generateTags) { + n.SetTag("WorkflowStepOutput"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); return n; } inline void https___w3id_org_cwl_cwl::WorkflowStepOutput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Identified::fromYaml(n); } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5496,46 +7660,103 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml()); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml()); - addYamlField(n, "in", - convertListToMap(toYaml(*in), "id")); - addYamlField(n, "out", toYaml(*out)); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "run", toYaml(*run)); - addYamlField(n, "when", toYaml(*when)); - addYamlField(n, "scatter", toYaml(*scatter)); - addYamlField(n, "scatterMethod", toYaml(*scatterMethod)); + if (config.generateTags) { + n.SetTag("WorkflowStep"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + { + auto member = toYaml(*in, config); + member = convertListToMap(member, "id", "source", config); + addYamlField(n, "in", member); + } + { + auto member = toYaml(*out, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "out", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*run, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "run", member); + } + { + auto member = toYaml(*when, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "when", member); + } + { + auto member = toYaml(*scatter, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "scatter", member); + } + { + auto member = toYaml(*scatterMethod, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "scatterMethod", member); + } return n; } inline void https___w3id_org_cwl_cwl::WorkflowStep::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::Identified::fromYaml(n); https___w3id_org_cwl_cwl::Labeled::fromYaml(n); https___w3id_org_cwl_salad::Documented::fromYaml(n); - - fromYaml(convertMapToList(n["in"], -"id"), *in); - fromYaml(n["out"], *out); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["run"], *run); - fromYaml(n["when"], *when); - fromYaml(n["scatter"], *scatter); - fromYaml(n["scatterMethod"], *scatterMethod); + { + auto nodeAsList = convertMapToList(n["in"], "id", "source"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *in); + } + { + auto nodeAsList = convertMapToList(n["out"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *out); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["run"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *run); + } + { + auto nodeAsList = convertMapToList(n["when"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *when); + } + { + auto nodeAsList = convertMapToList(n["scatter"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *scatter); + } + { + auto nodeAsList = convertMapToList(n["scatterMethod"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *scatterMethod); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5594,52 +7815,127 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Workflow::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Workflow::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); - addYamlField(n, "steps", - convertListToMap(toYaml(*steps), "id")); + if (config.generateTags) { + n.SetTag("Workflow"); + } + { + auto member = toYaml(*id, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "id", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*inputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "inputs", member); + } + { + auto member = toYaml(*outputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "outputs", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*cwlVersion, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "cwlVersion", member); + } + { + auto member = toYaml(*intent, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "intent", member); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } + { + auto member = toYaml(*steps, config); + member = convertListToMap(member, "id", "", config); + addYamlField(n, "steps", member); + } return n; } inline void https___w3id_org_cwl_cwl::Workflow::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); - - fromYaml(convertMapToList(n["steps"], -"id"), *steps); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["id"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *id); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputs); + } + { + auto nodeAsList = convertMapToList(n["outputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputs); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["cwlVersion"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *cwlVersion); + } + { + auto nodeAsList = convertMapToList(n["intent"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *intent); + } + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } + { + auto nodeAsList = convertMapToList(n["steps"], "id", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *steps); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5716,19 +8012,29 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml() const -> YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("SubworkflowFeatureRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5745,19 +8051,29 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::ScatterFeatureRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("ScatterFeatureRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::ScatterFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5774,19 +8090,29 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("MultipleInputFeatureRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5803,19 +8129,29 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::StepInputExpressionRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml()); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("StepInputExpressionRequirement"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::StepInputExpressionRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); - fromYaml(n["class"], *class_); + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5832,19 +8168,30 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OperationInputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("OperationInputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_cwl::OperationInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); - fromYaml(n["type"], *type); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5861,19 +8208,30 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::OperationOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml()); - addYamlField(n, "type", toYaml(*type)); + if (config.generateTags) { + n.SetTag("OperationOutputParameter"); + } + n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + { + auto member = toYaml(*type, config); + member = simplifyType(member, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "type", member); + } return n; } inline void https___w3id_org_cwl_cwl::OperationOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; + using ::cpp_gen::fromYaml; https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); - fromYaml(n["type"], *type); + { + auto nodeAsList = convertMapToList(n["type"], "", ""); + auto expandedNode = expandType(nodeAsList); + fromYaml(expandedNode, *type); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -5890,47 +8248,117 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::toYaml; +inline auto https___w3id_org_cwl_cwl::Operation::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { + using ::cpp_gen::toYaml; auto n = YAML::Node{}; - addYamlField(n, "id", toYaml(*id)); - addYamlField(n, "label", toYaml(*label)); - addYamlField(n, "doc", toYaml(*doc)); - addYamlField(n, "inputs", - convertListToMap(toYaml(*inputs), "id")); - addYamlField(n, "outputs", - convertListToMap(toYaml(*outputs), "id")); - addYamlField(n, "requirements", - convertListToMap(toYaml(*requirements), "class")); - addYamlField(n, "hints", - convertListToMap(toYaml(*hints), "class")); - addYamlField(n, "cwlVersion", toYaml(*cwlVersion)); - addYamlField(n, "intent", toYaml(*intent)); - addYamlField(n, "class", toYaml(*class_)); + if (config.generateTags) { + n.SetTag("Operation"); + } + { + auto member = toYaml(*id, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "id", member); + } + { + auto member = toYaml(*label, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "label", member); + } + { + auto member = toYaml(*doc, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "doc", member); + } + { + auto member = toYaml(*inputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "inputs", member); + } + { + auto member = toYaml(*outputs, config); + member = convertListToMap(member, "id", "type", config); + addYamlField(n, "outputs", member); + } + { + auto member = toYaml(*requirements, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "requirements", member); + } + { + auto member = toYaml(*hints, config); + member = convertListToMap(member, "class", "", config); + addYamlField(n, "hints", member); + } + { + auto member = toYaml(*cwlVersion, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "cwlVersion", member); + } + { + auto member = toYaml(*intent, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "intent", member); + } + { + auto member = toYaml(*class_, config); + member = convertListToMap(member, "", "", config); + addYamlField(n, "class", member); + } return n; } inline void https___w3id_org_cwl_cwl::Operation::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::fromYaml; - fromYaml(n["id"], *id); - fromYaml(n["label"], *label); - fromYaml(n["doc"], *doc); - - fromYaml(convertMapToList(n["inputs"], -"id"), *inputs); - - fromYaml(convertMapToList(n["outputs"], -"id"), *outputs); - - fromYaml(convertMapToList(n["requirements"], -"class"), *requirements); - - fromYaml(convertMapToList(n["hints"], -"class"), *hints); - fromYaml(n["cwlVersion"], *cwlVersion); - fromYaml(n["intent"], *intent); - fromYaml(n["class"], *class_); + using ::cpp_gen::fromYaml; + { + auto nodeAsList = convertMapToList(n["id"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *id); + } + { + auto nodeAsList = convertMapToList(n["label"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *label); + } + { + auto nodeAsList = convertMapToList(n["doc"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *doc); + } + { + auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *inputs); + } + { + auto nodeAsList = convertMapToList(n["outputs"], "id", "type"); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *outputs); + } + { + auto nodeAsList = convertMapToList(n["requirements"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *requirements); + } + { + auto nodeAsList = convertMapToList(n["hints"], "class", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *hints); + } + { + auto nodeAsList = convertMapToList(n["cwlVersion"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *cwlVersion); + } + { + auto nodeAsList = convertMapToList(n["intent"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *intent); + } + { + auto nodeAsList = convertMapToList(n["class"], "", ""); + auto expandedNode = (nodeAsList); + fromYaml(expandedNode, *class_); + } } - template <> struct DetectAndExtractFromYaml { auto operator()(YAML::Node const& n) const -> std::optional { @@ -6003,36 +8431,36 @@ struct DetectAndExtractFromYaml { }; template -auto toYaml(std::vector const& v) -> YAML::Node { +auto toYaml(std::vector const& v, [[maybe_unused]] store_config const& config) -> YAML::Node { auto n = YAML::Node(YAML::NodeType::Sequence); for (auto const& e : v) { - n.push_back(toYaml(e)); + n.push_back(toYaml(e, config)); } return n; } template -auto toYaml(std::map const& v) -> YAML::Node { +auto toYaml(std::map const& v, [[maybe_unused]] store_config const& config) -> YAML::Node { auto n = YAML::Node(YAML::NodeType::Map); for (auto const& [key, value] : v) { - n[key] = toYaml(value); + n[key] = toYaml(value, config); } return n; } template -auto toYaml(T const& t) -> YAML::Node { +auto toYaml(T const& t, [[maybe_unused]] store_config const& config) -> YAML::Node { if constexpr (std::is_enum_v) { - return toYaml(t); + return toYaml(t, config); } else { - return t.toYaml(); + return t.toYaml(config); } } template -auto toYaml(std::variant const& t) -> YAML::Node { - return std::visit([](auto const& e) { - return toYaml(e); +auto toYaml(std::variant const& t, store_config const& config) -> YAML::Node { + return std::visit([config](auto const& e) { + return toYaml(e, config); }, t); } @@ -6094,3 +8522,33 @@ void fromYaml(YAML::Node const& n, std::variant& v){ bool found = detectAndExtractFromYaml, Args...>(n, v); if (!found) throw std::runtime_error{"didn't find any overload"}; } +using DocumentRootType = std::variant; +auto load_document_from_yaml(YAML::Node n) -> DocumentRootType { + DocumentRootType root; + fromYaml(n, root); + return root; +} +auto load_document_from_string(std::string document) -> DocumentRootType { + return load_document_from_yaml(YAML::Load(document)); +} +auto load_document(std::filesystem::path path) -> DocumentRootType { + return load_document_from_yaml(YAML::LoadFile(path)); +} +void store_document(DocumentRootType const& root, std::ostream& ostream, store_config config={}) { + auto y = toYaml(root, config); + + YAML::Emitter out; + out << y; + ostream << out.c_str() << std::endl; +} +void store_document(DocumentRootType const& root, std::filesystem::path const& path, store_config config={}) { + auto ofs = std::ofstream{path}; + store_document(root, ofs, config); +} +auto store_document_as_string(DocumentRootType const& root, store_config config={}) -> std::string { + auto ss = std::stringstream{}; + store_document(root, ss, config); + return ss.str(); +} + +} \ No newline at end of file diff --git a/tests/01_types.cwl b/tests/01_types.cwl new file mode 100644 index 0000000..04fafa8 --- /dev/null +++ b/tests/01_types.cwl @@ -0,0 +1,63 @@ +id: Some id +label: some label +doc: documentation that is brief +inputs: + firstOption: long + secondOption: + type: int + thirdOption: + type: string + inputBinding: + prefix: --third_option + fourthOption: + type: + - type: record + fields: + species: + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + fifthOption: + type: array + items: + - fields: + type: record + species: + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + sixthOption: + - type: record + fields: + species: + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + seventhOption: + type: + - type: record + fields: + species: + type: long + option2: int + eightOption: long? + ninth_option: + type: int? + tenth_option: + type: + - "null" + - int + +outputs: +cwlVersion: v1.2 +class: CommandLineTool +stdout: log.txt diff --git a/tests/01_types_expected.cwl b/tests/01_types_expected.cwl new file mode 100644 index 0000000..b23a7d0 --- /dev/null +++ b/tests/01_types_expected.cwl @@ -0,0 +1,42 @@ +id: Some id +label: some label +doc: documentation that is brief +inputs: + firstOption: long + secondOption: int + thirdOption: + type: string + inputBinding: + prefix: --third_option + fourthOption: + - fields: + species: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + fifthOption: array + sixthOption: + - fields: + species: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + seventhOption: + - fields: + species: long + option2: int + type: record + eightOption: long? + ninth_option: int? + tenth_option: int? +outputs: + [] +cwlVersion: v1.2 +class: CommandLineTool +stdout: log.txt diff --git a/tests/01_types_expected_no_list_to_map.cwl b/tests/01_types_expected_no_list_to_map.cwl new file mode 100644 index 0000000..8bcb40a --- /dev/null +++ b/tests/01_types_expected_no_list_to_map.cwl @@ -0,0 +1,55 @@ +id: Some id +label: some label +doc: documentation that is brief +inputs: + - id: firstOption + type: long + - id: secondOption + type: int + - id: thirdOption + type: string + inputBinding: + prefix: --third_option + - id: fourthOption + type: + - fields: + - name: species + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + - id: fifthOption + type: array + - id: sixthOption + type: + - fields: + - name: species + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + - id: seventhOption + type: + - fields: + - name: species + type: long + - name: option2 + type: int + type: record + - id: eightOption + type: long? + - id: ninth_option + type: int? + - id: tenth_option + type: int? +outputs: + [] +cwlVersion: v1.2 +class: CommandLineTool +stdout: log.txt diff --git a/tests/01_types_expected_no_simplification.cwl b/tests/01_types_expected_no_simplification.cwl new file mode 100644 index 0000000..5c647e6 --- /dev/null +++ b/tests/01_types_expected_no_simplification.cwl @@ -0,0 +1,48 @@ +id: Some id +label: some label +doc: documentation that is brief +inputs: + firstOption: long + secondOption: int + thirdOption: + type: string + inputBinding: + prefix: --third_option + fourthOption: + - fields: + species: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + fifthOption: array + sixthOption: + - fields: + species: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + seventhOption: + - fields: + species: long + option2: int + type: record + eightOption: + - "null" + - long + ninth_option: + - "null" + - int + tenth_option: + - "null" + - int +outputs: + [] +cwlVersion: v1.2 +class: CommandLineTool +stdout: log.txt diff --git a/tests/01_types_expected_no_simplification_and_list_to_map.cwl b/tests/01_types_expected_no_simplification_and_list_to_map.cwl new file mode 100644 index 0000000..4f00802 --- /dev/null +++ b/tests/01_types_expected_no_simplification_and_list_to_map.cwl @@ -0,0 +1,61 @@ +id: Some id +label: some label +doc: documentation that is brief +inputs: + - id: firstOption + type: long + - id: secondOption + type: int + - id: thirdOption + type: string + inputBinding: + prefix: --third_option + - id: fourthOption + type: + - fields: + - name: species + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + - id: fifthOption + type: array + - id: sixthOption + type: + - fields: + - name: species + type: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record + - id: seventhOption + type: + - fields: + - name: species + type: long + - name: option2 + type: int + type: record + - id: eightOption + type: + - "null" + - long + - id: ninth_option + type: + - "null" + - int + - id: tenth_option + type: + - "null" + - int +outputs: + [] +cwlVersion: v1.2 +class: CommandLineTool +stdout: log.txt diff --git a/tests/02_expression.cwl b/tests/02_expression.cwl new file mode 100644 index 0000000..f31c1a4 --- /dev/null +++ b/tests/02_expression.cwl @@ -0,0 +1,54 @@ +cwlVersion: v1.2 +class: Workflow +inputs: + 09first_input: + type: + - "null" + - string + 05second_input: + type: int? + 01third_input: + type: File + 03fourth_input: + type: + type: array + items: int + 03_fifth_input: + type: + - "null" + - type: array + items: int + 15_sixth_input: int[]? + 16_seventh_input: + type: int[]? +steps: + zz_step_one: + run: + class: ExpressionTool + inputs: [] + outputs: [] + expression: ${return {}; } + requirements: + InlineJavascriptRequirement: {} + in: [] + out: [] + 00_step_two: + out: [] + run: + inputs: [] + requirements: + InlineJavascriptRequirement: {} + outputs: [] + expression: ${return2 {}; } + class: ExpressionTool + in: [] +outputs: + zz_first_output: + type: File + outputSource: 01third_input + ll_second_output: + type: string + outputSource: 09first_input + aa_third_output: + type: int + outputSource: 05second_input diff --git a/tests/02_expression_expected.cwl b/tests/02_expression_expected.cwl new file mode 100644 index 0000000..30a35d5 --- /dev/null +++ b/tests/02_expression_expected.cwl @@ -0,0 +1,51 @@ +inputs: + 09first_input: string? + 05second_input: int? + 01third_input: File + 03fourth_input: int[] + 03_fifth_input: int[]? + 15_sixth_input: int[]? + 16_seventh_input: int[]? +outputs: + zz_first_output: + outputSource: 01third_input + type: File + ll_second_output: + outputSource: 09first_input + type: string + aa_third_output: + outputSource: 05second_input + type: int +cwlVersion: v1.2 +class: Workflow +steps: + zz_step_one: + in: + [] + out: + [] + run: + inputs: + [] + outputs: + [] + requirements: + InlineJavascriptRequirement: + {} + class: ExpressionTool + expression: ${return {}; } + 00_step_two: + in: + [] + out: + [] + run: + inputs: + [] + outputs: + [] + requirements: + InlineJavascriptRequirement: + {} + class: ExpressionTool + expression: ${return2 {}; } diff --git a/expected_cwl.cwl b/tests/expected_cwl.cwl similarity index 67% rename from expected_cwl.cwl rename to tests/expected_cwl.cwl index d0a68fe..e29ae0c 100644 --- a/expected_cwl.cwl +++ b/tests/expected_cwl.cwl @@ -15,16 +15,14 @@ inputs: inputBinding: prefix: --output-file speciesSelection: - type: - - fields: - species: - type: - - symbols: - - homo_sapiens - - mus_musculus - type: enum - - "null" - type: record + - fields: + species: + - symbols: + - homo_sapiens + - mus_musculus + type: enum + - "null" + type: record outputs: outputFile: type: File From 482fe7662b27dc54934c2ca0cf88ef7fe0673d52 Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Wed, 18 Dec 2024 08:43:49 +0100 Subject: [PATCH 7/8] fix: make cleanup --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 72c56a3..f74c1dd 100644 --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ cwl_v1_2.h: FORCE ## clean : clean up the build clean: FORCE - rm -f cwl_output_example cwl_input_example output_cwl.cwl + rm -f cwl_output_example cwl_input_example cwl_input_example_store_config ## regen_parser : regenerate the CWL v1.2 parser regen_parser: cwl_v1_*.h From be74354b53745c219e769076dc9ad037eb2d0be6 Mon Sep 17 00:00:00 2001 From: Simon Gene Gottlieb Date: Wed, 18 Dec 2024 08:20:10 +0100 Subject: [PATCH 8/8] update to newest auto generated code --- cwl_input_example.cpp | 6 +- cwl_input_example_store_config.cpp | 8 +- cwl_output_example.cpp | 6 +- cwl_v1_2.h | 3317 +++++++++++++++------------- 4 files changed, 1772 insertions(+), 1565 deletions(-) diff --git a/cwl_input_example.cpp b/cwl_input_example.cpp index 805de14..2b68b02 100644 --- a/cwl_input_example.cpp +++ b/cwl_input_example.cpp @@ -9,11 +9,13 @@ * It loads a CWL description from a file and populates C++ classes. */ +// using shortened cwl:: namespace instead of w3id_org::cwl +namespace cwl = w3id_org::cwl; int main(int argc, char** argv) { if (argc != 2) return 1; - auto tool = cpp_gen::load_document(argv[1]); - cpp_gen::store_document(tool, std::cout); + auto tool = cwl::load_document(argv[1]); + cwl::store_document(tool, std::cout); return 0; } diff --git a/cwl_input_example_store_config.cpp b/cwl_input_example_store_config.cpp index 5f5b659..4080b48 100644 --- a/cwl_input_example_store_config.cpp +++ b/cwl_input_example_store_config.cpp @@ -9,14 +9,16 @@ * It loads a CWL description from a file and populates C++ classes. */ +// using shortened cwl:: namespace instead of w3id_org::cwl +namespace cwl = w3id_org::cwl; int main(int argc, char** argv) { if (argc < 2) return 1; - auto tool = cpp_gen::load_document(argv[1]); + auto tool = cwl::load_document(argv[1]); // parse command line - auto config = cpp_gen::store_config{}; + auto config = cwl::store_config{}; for (int i{2}; i < argc; ++i) { auto sv = std::string_view{argv[i]}; if (sv == "no_simplification") { @@ -27,6 +29,6 @@ int main(int argc, char** argv) { config.generateTags = true; } } - cpp_gen::store_document(tool, std::cout, config); + cwl::store_document(tool, std::cout, config); return 0; } diff --git a/cwl_output_example.cpp b/cwl_output_example.cpp index dfd120e..c48ce3a 100644 --- a/cwl_output_example.cpp +++ b/cwl_output_example.cpp @@ -8,8 +8,8 @@ * It should print a valid CWL description to stdout. */ -// using shortened cwl:: namespace instead of https___w3id_org_cwl_cwl -namespace cwl = cpp_gen::https___w3id_org_cwl_cwl; +// using shortened cwl:: namespace instead of w3id_org::cwl::cwl +namespace cwl = w3id_org::cwl::cwl; int main() { // declaring information about this tool in general @@ -105,5 +105,5 @@ int main() { } - cpp_gen::store_document(tool, std::cout); + w3id_org::cwl::store_document(tool, std::cout); } diff --git a/cwl_v1_2.h b/cwl_v1_2.h index 0537ac5..5753102 100644 --- a/cwl_v1_2.h +++ b/cwl_v1_2.h @@ -21,7 +21,7 @@ #include #include -namespace cpp_gen { +namespace w3id_org::cwl { struct store_config { bool simplifyTypes = true; @@ -183,7 +183,8 @@ inline void addYamlField(YAML::Node& node, std::string const& key, YAML::Node va } } -inline auto convertListToMap(YAML::Node list, std::string const& mapSubject, std::string const& mapPredicate, store_config const& config) { +inline auto convertListToMap(YAML::Node list, std::string const& mapSubject, + std::string const& mapPredicate, store_config const& config) { if (!config.transformListsToMaps) return list; if (mapSubject.empty()) return list; if (list.size() == 0) return list; @@ -199,7 +200,8 @@ inline auto convertListToMap(YAML::Node list, std::string const& mapSubject, std } return map; } -inline auto convertMapToList(YAML::Node map, std::string const& mapSubject, std::string const& mapPredicate) { +inline auto convertMapToList(YAML::Node map, std::string const& mapSubject, + std::string const& mapPredicate) { if (mapSubject.empty()) return map; if (!map.IsDefined()) return map; if (!map.IsMap()) return map; @@ -370,85 +372,86 @@ class heap_object { } }; -namespace https___w3id_org_cwl_salad { struct Documented; } -namespace https___w3id_org_cwl_salad { struct RecordField; } -namespace https___w3id_org_cwl_salad { struct RecordSchema; } -namespace https___w3id_org_cwl_salad { struct EnumSchema; } -namespace https___w3id_org_cwl_salad { struct ArraySchema; } -namespace https___w3id_org_cwl_cwl { struct File; } -namespace https___w3id_org_cwl_cwl { struct Directory; } -namespace https___w3id_org_cwl_cwl { struct Labeled; } -namespace https___w3id_org_cwl_cwl { struct Identified; } -namespace https___w3id_org_cwl_cwl { struct LoadContents; } -namespace https___w3id_org_cwl_cwl { struct FieldBase; } -namespace https___w3id_org_cwl_cwl { struct InputFormat; } -namespace https___w3id_org_cwl_cwl { struct OutputFormat; } -namespace https___w3id_org_cwl_cwl { struct Parameter; } -namespace https___w3id_org_cwl_cwl { struct InputBinding; } -namespace https___w3id_org_cwl_cwl { struct IOSchema; } -namespace https___w3id_org_cwl_cwl { struct InputSchema; } -namespace https___w3id_org_cwl_cwl { struct OutputSchema; } -namespace https___w3id_org_cwl_cwl { struct InputRecordField; } -namespace https___w3id_org_cwl_cwl { struct InputRecordSchema; } -namespace https___w3id_org_cwl_cwl { struct InputEnumSchema; } -namespace https___w3id_org_cwl_cwl { struct InputArraySchema; } -namespace https___w3id_org_cwl_cwl { struct OutputRecordField; } -namespace https___w3id_org_cwl_cwl { struct OutputRecordSchema; } -namespace https___w3id_org_cwl_cwl { struct OutputEnumSchema; } -namespace https___w3id_org_cwl_cwl { struct OutputArraySchema; } -namespace https___w3id_org_cwl_cwl { struct InputParameter; } -namespace https___w3id_org_cwl_cwl { struct OutputParameter; } -namespace https___w3id_org_cwl_cwl { struct ProcessRequirement; } -namespace https___w3id_org_cwl_cwl { struct Process; } -namespace https___w3id_org_cwl_cwl { struct InlineJavascriptRequirement; } -namespace https___w3id_org_cwl_cwl { struct CommandInputSchema; } -namespace https___w3id_org_cwl_cwl { struct SchemaDefRequirement; } -namespace https___w3id_org_cwl_cwl { struct SecondaryFileSchema; } -namespace https___w3id_org_cwl_cwl { struct LoadListingRequirement; } -namespace https___w3id_org_cwl_cwl { struct EnvironmentDef; } -namespace https___w3id_org_cwl_cwl { struct CommandLineBinding; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputBinding; } -namespace https___w3id_org_cwl_cwl { struct CommandLineBindable; } -namespace https___w3id_org_cwl_cwl { struct CommandInputRecordField; } -namespace https___w3id_org_cwl_cwl { struct CommandInputRecordSchema; } -namespace https___w3id_org_cwl_cwl { struct CommandInputEnumSchema; } -namespace https___w3id_org_cwl_cwl { struct CommandInputArraySchema; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputRecordField; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputRecordSchema; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputEnumSchema; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputArraySchema; } -namespace https___w3id_org_cwl_cwl { struct CommandInputParameter; } -namespace https___w3id_org_cwl_cwl { struct CommandOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct CommandLineTool; } -namespace https___w3id_org_cwl_cwl { struct DockerRequirement; } -namespace https___w3id_org_cwl_cwl { struct SoftwareRequirement; } -namespace https___w3id_org_cwl_cwl { struct SoftwarePackage; } -namespace https___w3id_org_cwl_cwl { struct Dirent; } -namespace https___w3id_org_cwl_cwl { struct InitialWorkDirRequirement; } -namespace https___w3id_org_cwl_cwl { struct EnvVarRequirement; } -namespace https___w3id_org_cwl_cwl { struct ShellCommandRequirement; } -namespace https___w3id_org_cwl_cwl { struct ResourceRequirement; } -namespace https___w3id_org_cwl_cwl { struct WorkReuse; } -namespace https___w3id_org_cwl_cwl { struct NetworkAccess; } -namespace https___w3id_org_cwl_cwl { struct InplaceUpdateRequirement; } -namespace https___w3id_org_cwl_cwl { struct ToolTimeLimit; } -namespace https___w3id_org_cwl_cwl { struct ExpressionToolOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct WorkflowInputParameter; } -namespace https___w3id_org_cwl_cwl { struct ExpressionTool; } -namespace https___w3id_org_cwl_cwl { struct WorkflowOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct Sink; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStepInput; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStepOutput; } -namespace https___w3id_org_cwl_cwl { struct WorkflowStep; } -namespace https___w3id_org_cwl_cwl { struct Workflow; } -namespace https___w3id_org_cwl_cwl { struct SubworkflowFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct ScatterFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct MultipleInputFeatureRequirement; } -namespace https___w3id_org_cwl_cwl { struct StepInputExpressionRequirement; } -namespace https___w3id_org_cwl_cwl { struct OperationInputParameter; } -namespace https___w3id_org_cwl_cwl { struct OperationOutputParameter; } -namespace https___w3id_org_cwl_cwl { struct Operation; } -namespace https___w3id_org_cwl_salad { +} +namespace w3id_org::cwl::salad { struct Documented; } +namespace w3id_org::cwl::salad { struct RecordField; } +namespace w3id_org::cwl::salad { struct RecordSchema; } +namespace w3id_org::cwl::salad { struct EnumSchema; } +namespace w3id_org::cwl::salad { struct ArraySchema; } +namespace w3id_org::cwl::cwl { struct File; } +namespace w3id_org::cwl::cwl { struct Directory; } +namespace w3id_org::cwl::cwl { struct Labeled; } +namespace w3id_org::cwl::cwl { struct Identified; } +namespace w3id_org::cwl::cwl { struct LoadContents; } +namespace w3id_org::cwl::cwl { struct FieldBase; } +namespace w3id_org::cwl::cwl { struct InputFormat; } +namespace w3id_org::cwl::cwl { struct OutputFormat; } +namespace w3id_org::cwl::cwl { struct Parameter; } +namespace w3id_org::cwl::cwl { struct InputBinding; } +namespace w3id_org::cwl::cwl { struct IOSchema; } +namespace w3id_org::cwl::cwl { struct InputSchema; } +namespace w3id_org::cwl::cwl { struct OutputSchema; } +namespace w3id_org::cwl::cwl { struct InputRecordField; } +namespace w3id_org::cwl::cwl { struct InputRecordSchema; } +namespace w3id_org::cwl::cwl { struct InputEnumSchema; } +namespace w3id_org::cwl::cwl { struct InputArraySchema; } +namespace w3id_org::cwl::cwl { struct OutputRecordField; } +namespace w3id_org::cwl::cwl { struct OutputRecordSchema; } +namespace w3id_org::cwl::cwl { struct OutputEnumSchema; } +namespace w3id_org::cwl::cwl { struct OutputArraySchema; } +namespace w3id_org::cwl::cwl { struct InputParameter; } +namespace w3id_org::cwl::cwl { struct OutputParameter; } +namespace w3id_org::cwl::cwl { struct ProcessRequirement; } +namespace w3id_org::cwl::cwl { struct Process; } +namespace w3id_org::cwl::cwl { struct InlineJavascriptRequirement; } +namespace w3id_org::cwl::cwl { struct CommandInputSchema; } +namespace w3id_org::cwl::cwl { struct SchemaDefRequirement; } +namespace w3id_org::cwl::cwl { struct SecondaryFileSchema; } +namespace w3id_org::cwl::cwl { struct LoadListingRequirement; } +namespace w3id_org::cwl::cwl { struct EnvironmentDef; } +namespace w3id_org::cwl::cwl { struct CommandLineBinding; } +namespace w3id_org::cwl::cwl { struct CommandOutputBinding; } +namespace w3id_org::cwl::cwl { struct CommandLineBindable; } +namespace w3id_org::cwl::cwl { struct CommandInputRecordField; } +namespace w3id_org::cwl::cwl { struct CommandInputRecordSchema; } +namespace w3id_org::cwl::cwl { struct CommandInputEnumSchema; } +namespace w3id_org::cwl::cwl { struct CommandInputArraySchema; } +namespace w3id_org::cwl::cwl { struct CommandOutputRecordField; } +namespace w3id_org::cwl::cwl { struct CommandOutputRecordSchema; } +namespace w3id_org::cwl::cwl { struct CommandOutputEnumSchema; } +namespace w3id_org::cwl::cwl { struct CommandOutputArraySchema; } +namespace w3id_org::cwl::cwl { struct CommandInputParameter; } +namespace w3id_org::cwl::cwl { struct CommandOutputParameter; } +namespace w3id_org::cwl::cwl { struct CommandLineTool; } +namespace w3id_org::cwl::cwl { struct DockerRequirement; } +namespace w3id_org::cwl::cwl { struct SoftwareRequirement; } +namespace w3id_org::cwl::cwl { struct SoftwarePackage; } +namespace w3id_org::cwl::cwl { struct Dirent; } +namespace w3id_org::cwl::cwl { struct InitialWorkDirRequirement; } +namespace w3id_org::cwl::cwl { struct EnvVarRequirement; } +namespace w3id_org::cwl::cwl { struct ShellCommandRequirement; } +namespace w3id_org::cwl::cwl { struct ResourceRequirement; } +namespace w3id_org::cwl::cwl { struct WorkReuse; } +namespace w3id_org::cwl::cwl { struct NetworkAccess; } +namespace w3id_org::cwl::cwl { struct InplaceUpdateRequirement; } +namespace w3id_org::cwl::cwl { struct ToolTimeLimit; } +namespace w3id_org::cwl::cwl { struct ExpressionToolOutputParameter; } +namespace w3id_org::cwl::cwl { struct WorkflowInputParameter; } +namespace w3id_org::cwl::cwl { struct ExpressionTool; } +namespace w3id_org::cwl::cwl { struct WorkflowOutputParameter; } +namespace w3id_org::cwl::cwl { struct Sink; } +namespace w3id_org::cwl::cwl { struct WorkflowStepInput; } +namespace w3id_org::cwl::cwl { struct WorkflowStepOutput; } +namespace w3id_org::cwl::cwl { struct WorkflowStep; } +namespace w3id_org::cwl::cwl { struct Workflow; } +namespace w3id_org::cwl::cwl { struct SubworkflowFeatureRequirement; } +namespace w3id_org::cwl::cwl { struct ScatterFeatureRequirement; } +namespace w3id_org::cwl::cwl { struct MultipleInputFeatureRequirement; } +namespace w3id_org::cwl::cwl { struct StepInputExpressionRequirement; } +namespace w3id_org::cwl::cwl { struct OperationInputParameter; } +namespace w3id_org::cwl::cwl { struct OperationOutputParameter; } +namespace w3id_org::cwl::cwl { struct Operation; } +namespace w3id_org::cwl::salad { enum class PrimitiveType : unsigned int { null, boolean, @@ -468,35 +471,37 @@ inline auto to_string(PrimitiveType v) { "double", "string" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::PrimitiveType& out) { - static auto m = std::map> { - {"null", https___w3id_org_cwl_salad::PrimitiveType::null}, - {"boolean", https___w3id_org_cwl_salad::PrimitiveType::boolean}, - {"int", https___w3id_org_cwl_salad::PrimitiveType::int_}, - {"long", https___w3id_org_cwl_salad::PrimitiveType::long_}, - {"float", https___w3id_org_cwl_salad::PrimitiveType::float_}, - {"double", https___w3id_org_cwl_salad::PrimitiveType::double_}, - {"string", https___w3id_org_cwl_salad::PrimitiveType::string}, +inline void to_enum(std::string_view v, w3id_org::cwl::salad::PrimitiveType& out) { + static auto m = std::map> { + {"null", w3id_org::cwl::salad::PrimitiveType::null}, + {"boolean", w3id_org::cwl::salad::PrimitiveType::boolean}, + {"int", w3id_org::cwl::salad::PrimitiveType::int_}, + {"long", w3id_org::cwl::salad::PrimitiveType::long_}, + {"float", w3id_org::cwl::salad::PrimitiveType::float_}, + {"double", w3id_org::cwl::salad::PrimitiveType::double_}, + {"string", w3id_org::cwl::salad::PrimitiveType::string}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::PrimitiveType v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::salad::PrimitiveType v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::PrimitiveType"); + if (config.generateTags) n.SetTag("w3id_org::cwl::salad::PrimitiveType"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::PrimitiveType& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::salad::PrimitiveType& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { enum class Any : unsigned int { Any }; @@ -504,29 +509,31 @@ inline auto to_string(Any v) { static auto m = std::vector { "Any" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::Any& out) { - static auto m = std::map> { - {"Any", https___w3id_org_cwl_salad::Any::Any}, +inline void to_enum(std::string_view v, w3id_org::cwl::salad::Any& out) { + static auto m = std::map> { + {"Any", w3id_org::cwl::salad::Any::Any}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::Any v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::salad::Any v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::Any"); + if (config.generateTags) n.SetTag("w3id_org::cwl::salad::Any"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::Any& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::salad::Any& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { enum class RecordSchema_type_Record_name : unsigned int { record }; @@ -534,29 +541,31 @@ inline auto to_string(RecordSchema_type_Record_name v) { static auto m = std::vector { "record" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::RecordSchema_type_Record_name& out) { - static auto m = std::map> { - {"record", https___w3id_org_cwl_salad::RecordSchema_type_Record_name::record}, +inline void to_enum(std::string_view v, w3id_org::cwl::salad::RecordSchema_type_Record_name& out) { + static auto m = std::map> { + {"record", w3id_org::cwl::salad::RecordSchema_type_Record_name::record}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::RecordSchema_type_Record_name v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::salad::RecordSchema_type_Record_name v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::RecordSchema_type_Record_name"); + if (config.generateTags) n.SetTag("w3id_org::cwl::salad::RecordSchema_type_Record_name"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::RecordSchema_type_Record_name& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::salad::RecordSchema_type_Record_name& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { enum class EnumSchema_type_Enum_name : unsigned int { enum_ }; @@ -564,29 +573,31 @@ inline auto to_string(EnumSchema_type_Enum_name v) { static auto m = std::vector { "enum" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::EnumSchema_type_Enum_name& out) { - static auto m = std::map> { - {"enum", https___w3id_org_cwl_salad::EnumSchema_type_Enum_name::enum_}, +inline void to_enum(std::string_view v, w3id_org::cwl::salad::EnumSchema_type_Enum_name& out) { + static auto m = std::map> { + {"enum", w3id_org::cwl::salad::EnumSchema_type_Enum_name::enum_}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::EnumSchema_type_Enum_name v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::salad::EnumSchema_type_Enum_name v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::EnumSchema_type_Enum_name"); + if (config.generateTags) n.SetTag("w3id_org::cwl::salad::EnumSchema_type_Enum_name"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::EnumSchema_type_Enum_name& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::salad::EnumSchema_type_Enum_name& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { enum class ArraySchema_type_Array_name : unsigned int { array }; @@ -594,29 +605,31 @@ inline auto to_string(ArraySchema_type_Array_name v) { static auto m = std::vector { "array" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_salad::ArraySchema_type_Array_name& out) { - static auto m = std::map> { - {"array", https___w3id_org_cwl_salad::ArraySchema_type_Array_name::array}, +inline void to_enum(std::string_view v, w3id_org::cwl::salad::ArraySchema_type_Array_name& out) { + static auto m = std::map> { + {"array", w3id_org::cwl::salad::ArraySchema_type_Array_name::array}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_salad::ArraySchema_type_Array_name v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::salad::ArraySchema_type_Array_name v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_salad::ArraySchema_type_Array_name"); + if (config.generateTags) n.SetTag("w3id_org::cwl::salad::ArraySchema_type_Array_name"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_salad::ArraySchema_type_Array_name& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::salad::ArraySchema_type_Array_name& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class CWLVersion : unsigned int { draft_2, draft_3_dev1, @@ -662,48 +675,50 @@ inline auto to_string(CWLVersion v) { "v1.2.0-dev5", "v1.2" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CWLVersion& out) { - static auto m = std::map> { - {"draft-2", https___w3id_org_cwl_cwl::CWLVersion::draft_2}, - {"draft-3.dev1", https___w3id_org_cwl_cwl::CWLVersion::draft_3_dev1}, - {"draft-3.dev2", https___w3id_org_cwl_cwl::CWLVersion::draft_3_dev2}, - {"draft-3.dev3", https___w3id_org_cwl_cwl::CWLVersion::draft_3_dev3}, - {"draft-3.dev4", https___w3id_org_cwl_cwl::CWLVersion::draft_3_dev4}, - {"draft-3.dev5", https___w3id_org_cwl_cwl::CWLVersion::draft_3_dev5}, - {"draft-3", https___w3id_org_cwl_cwl::CWLVersion::draft_3}, - {"draft-4.dev1", https___w3id_org_cwl_cwl::CWLVersion::draft_4_dev1}, - {"draft-4.dev2", https___w3id_org_cwl_cwl::CWLVersion::draft_4_dev2}, - {"draft-4.dev3", https___w3id_org_cwl_cwl::CWLVersion::draft_4_dev3}, - {"v1.0.dev4", https___w3id_org_cwl_cwl::CWLVersion::v1_0_dev4}, - {"v1.0", https___w3id_org_cwl_cwl::CWLVersion::v1_0}, - {"v1.1.0-dev1", https___w3id_org_cwl_cwl::CWLVersion::v1_1_0_dev1}, - {"v1.1", https___w3id_org_cwl_cwl::CWLVersion::v1_1}, - {"v1.2.0-dev1", https___w3id_org_cwl_cwl::CWLVersion::v1_2_0_dev1}, - {"v1.2.0-dev2", https___w3id_org_cwl_cwl::CWLVersion::v1_2_0_dev2}, - {"v1.2.0-dev3", https___w3id_org_cwl_cwl::CWLVersion::v1_2_0_dev3}, - {"v1.2.0-dev4", https___w3id_org_cwl_cwl::CWLVersion::v1_2_0_dev4}, - {"v1.2.0-dev5", https___w3id_org_cwl_cwl::CWLVersion::v1_2_0_dev5}, - {"v1.2", https___w3id_org_cwl_cwl::CWLVersion::v1_2}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::CWLVersion& out) { + static auto m = std::map> { + {"draft-2", w3id_org::cwl::cwl::CWLVersion::draft_2}, + {"draft-3.dev1", w3id_org::cwl::cwl::CWLVersion::draft_3_dev1}, + {"draft-3.dev2", w3id_org::cwl::cwl::CWLVersion::draft_3_dev2}, + {"draft-3.dev3", w3id_org::cwl::cwl::CWLVersion::draft_3_dev3}, + {"draft-3.dev4", w3id_org::cwl::cwl::CWLVersion::draft_3_dev4}, + {"draft-3.dev5", w3id_org::cwl::cwl::CWLVersion::draft_3_dev5}, + {"draft-3", w3id_org::cwl::cwl::CWLVersion::draft_3}, + {"draft-4.dev1", w3id_org::cwl::cwl::CWLVersion::draft_4_dev1}, + {"draft-4.dev2", w3id_org::cwl::cwl::CWLVersion::draft_4_dev2}, + {"draft-4.dev3", w3id_org::cwl::cwl::CWLVersion::draft_4_dev3}, + {"v1.0.dev4", w3id_org::cwl::cwl::CWLVersion::v1_0_dev4}, + {"v1.0", w3id_org::cwl::cwl::CWLVersion::v1_0}, + {"v1.1.0-dev1", w3id_org::cwl::cwl::CWLVersion::v1_1_0_dev1}, + {"v1.1", w3id_org::cwl::cwl::CWLVersion::v1_1}, + {"v1.2.0-dev1", w3id_org::cwl::cwl::CWLVersion::v1_2_0_dev1}, + {"v1.2.0-dev2", w3id_org::cwl::cwl::CWLVersion::v1_2_0_dev2}, + {"v1.2.0-dev3", w3id_org::cwl::cwl::CWLVersion::v1_2_0_dev3}, + {"v1.2.0-dev4", w3id_org::cwl::cwl::CWLVersion::v1_2_0_dev4}, + {"v1.2.0-dev5", w3id_org::cwl::cwl::CWLVersion::v1_2_0_dev5}, + {"v1.2", w3id_org::cwl::cwl::CWLVersion::v1_2}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CWLVersion v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::CWLVersion v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CWLVersion"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::CWLVersion"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CWLVersion& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::CWLVersion& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class CWLType : unsigned int { null, boolean, @@ -727,37 +742,39 @@ inline auto to_string(CWLType v) { "File", "Directory" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CWLType& out) { - static auto m = std::map> { - {"null", https___w3id_org_cwl_cwl::CWLType::null}, - {"boolean", https___w3id_org_cwl_cwl::CWLType::boolean}, - {"int", https___w3id_org_cwl_cwl::CWLType::int_}, - {"long", https___w3id_org_cwl_cwl::CWLType::long_}, - {"float", https___w3id_org_cwl_cwl::CWLType::float_}, - {"double", https___w3id_org_cwl_cwl::CWLType::double_}, - {"string", https___w3id_org_cwl_cwl::CWLType::string}, - {"File", https___w3id_org_cwl_cwl::CWLType::File}, - {"Directory", https___w3id_org_cwl_cwl::CWLType::Directory}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::CWLType& out) { + static auto m = std::map> { + {"null", w3id_org::cwl::cwl::CWLType::null}, + {"boolean", w3id_org::cwl::cwl::CWLType::boolean}, + {"int", w3id_org::cwl::cwl::CWLType::int_}, + {"long", w3id_org::cwl::cwl::CWLType::long_}, + {"float", w3id_org::cwl::cwl::CWLType::float_}, + {"double", w3id_org::cwl::cwl::CWLType::double_}, + {"string", w3id_org::cwl::cwl::CWLType::string}, + {"File", w3id_org::cwl::cwl::CWLType::File}, + {"Directory", w3id_org::cwl::cwl::CWLType::Directory}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CWLType v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::CWLType v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CWLType"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::CWLType"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CWLType& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::CWLType& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class File_class_File_class : unsigned int { File }; @@ -765,29 +782,31 @@ inline auto to_string(File_class_File_class v) { static auto m = std::vector { "File" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::File_class_File_class& out) { - static auto m = std::map> { - {"File", https___w3id_org_cwl_cwl::File_class_File_class::File}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::File_class_File_class& out) { + static auto m = std::map> { + {"File", w3id_org::cwl::cwl::File_class_File_class::File}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::File_class_File_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::File_class_File_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::File_class_File_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::File_class_File_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::File_class_File_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::File_class_File_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class Directory_class_Directory_class : unsigned int { Directory }; @@ -795,29 +814,31 @@ inline auto to_string(Directory_class_Directory_class v) { static auto m = std::vector { "Directory" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Directory_class_Directory_class& out) { - static auto m = std::map> { - {"Directory", https___w3id_org_cwl_cwl::Directory_class_Directory_class::Directory}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::Directory_class_Directory_class& out) { + static auto m = std::map> { + {"Directory", w3id_org::cwl::cwl::Directory_class_Directory_class::Directory}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Directory_class_Directory_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::Directory_class_Directory_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Directory_class_Directory_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::Directory_class_Directory_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Directory_class_Directory_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::Directory_class_Directory_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class LoadListingEnum : unsigned int { no_listing, shallow_listing, @@ -829,31 +850,33 @@ inline auto to_string(LoadListingEnum v) { "shallow_listing", "deep_listing" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LoadListingEnum& out) { - static auto m = std::map> { - {"no_listing", https___w3id_org_cwl_cwl::LoadListingEnum::no_listing}, - {"shallow_listing", https___w3id_org_cwl_cwl::LoadListingEnum::shallow_listing}, - {"deep_listing", https___w3id_org_cwl_cwl::LoadListingEnum::deep_listing}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::LoadListingEnum& out) { + static auto m = std::map> { + {"no_listing", w3id_org::cwl::cwl::LoadListingEnum::no_listing}, + {"shallow_listing", w3id_org::cwl::cwl::LoadListingEnum::shallow_listing}, + {"deep_listing", w3id_org::cwl::cwl::LoadListingEnum::deep_listing}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingEnum v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::LoadListingEnum v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LoadListingEnum"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::LoadListingEnum"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LoadListingEnum& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::LoadListingEnum& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class Expression : unsigned int { ExpressionPlaceholder }; @@ -861,29 +884,31 @@ inline auto to_string(Expression v) { static auto m = std::vector { "ExpressionPlaceholder" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Expression& out) { - static auto m = std::map> { - {"ExpressionPlaceholder", https___w3id_org_cwl_cwl::Expression::ExpressionPlaceholder}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::Expression& out) { + static auto m = std::map> { + {"ExpressionPlaceholder", w3id_org::cwl::cwl::Expression::ExpressionPlaceholder}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Expression v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::Expression v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Expression"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::Expression"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Expression& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::Expression& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class InlineJavascriptRequirement_class_InlineJavascriptRequirement_class : unsigned int { InlineJavascriptRequirement }; @@ -891,29 +916,31 @@ inline auto to_string(InlineJavascriptRequirement_class_InlineJavascriptRequirem static auto m = std::vector { "InlineJavascriptRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class& out) { - static auto m = std::map> { - {"InlineJavascriptRequirement", https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class::InlineJavascriptRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class& out) { + static auto m = std::map> { + {"InlineJavascriptRequirement", w3id_org::cwl::cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class::InlineJavascriptRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::InlineJavascriptRequirement_class_InlineJavascriptRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class SchemaDefRequirement_class_SchemaDefRequirement_class : unsigned int { SchemaDefRequirement }; @@ -921,29 +948,31 @@ inline auto to_string(SchemaDefRequirement_class_SchemaDefRequirement_class v) { static auto m = std::vector { "SchemaDefRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class& out) { - static auto m = std::map> { - {"SchemaDefRequirement", https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class::SchemaDefRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::SchemaDefRequirement_class_SchemaDefRequirement_class& out) { + static auto m = std::map> { + {"SchemaDefRequirement", w3id_org::cwl::cwl::SchemaDefRequirement_class_SchemaDefRequirement_class::SchemaDefRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::SchemaDefRequirement_class_SchemaDefRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::SchemaDefRequirement_class_SchemaDefRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SchemaDefRequirement_class_SchemaDefRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::SchemaDefRequirement_class_SchemaDefRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class LoadListingRequirement_class_LoadListingRequirement_class : unsigned int { LoadListingRequirement }; @@ -951,29 +980,31 @@ inline auto to_string(LoadListingRequirement_class_LoadListingRequirement_class static auto m = std::vector { "LoadListingRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class& out) { - static auto m = std::map> { - {"LoadListingRequirement", https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class::LoadListingRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::LoadListingRequirement_class_LoadListingRequirement_class& out) { + static auto m = std::map> { + {"LoadListingRequirement", w3id_org::cwl::cwl::LoadListingRequirement_class_LoadListingRequirement_class::LoadListingRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::LoadListingRequirement_class_LoadListingRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::LoadListingRequirement_class_LoadListingRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LoadListingRequirement_class_LoadListingRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::LoadListingRequirement_class_LoadListingRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class stdin_ : unsigned int { stdin_ }; @@ -981,29 +1012,31 @@ inline auto to_string(stdin_ v) { static auto m = std::vector { "stdin" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stdin_& out) { - static auto m = std::map> { - {"stdin", https___w3id_org_cwl_cwl::stdin_::stdin_}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::stdin_& out) { + static auto m = std::map> { + {"stdin", w3id_org::cwl::cwl::stdin_::stdin_}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stdin_ v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::stdin_ v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stdin_"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::stdin_"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stdin_& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::stdin_& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class stdout_ : unsigned int { stdout_ }; @@ -1011,29 +1044,31 @@ inline auto to_string(stdout_ v) { static auto m = std::vector { "stdout" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stdout_& out) { - static auto m = std::map> { - {"stdout", https___w3id_org_cwl_cwl::stdout_::stdout_}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::stdout_& out) { + static auto m = std::map> { + {"stdout", w3id_org::cwl::cwl::stdout_::stdout_}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stdout_ v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::stdout_ v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stdout_"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::stdout_"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stdout_& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::stdout_& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class stderr_ : unsigned int { stderr_ }; @@ -1041,29 +1076,31 @@ inline auto to_string(stderr_ v) { static auto m = std::vector { "stderr" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::stderr_& out) { - static auto m = std::map> { - {"stderr", https___w3id_org_cwl_cwl::stderr_::stderr_}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::stderr_& out) { + static auto m = std::map> { + {"stderr", w3id_org::cwl::cwl::stderr_::stderr_}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::stderr_ v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::stderr_ v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::stderr_"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::stderr_"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::stderr_& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::stderr_& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class CommandLineTool_class_CommandLineTool_class : unsigned int { CommandLineTool }; @@ -1071,29 +1108,31 @@ inline auto to_string(CommandLineTool_class_CommandLineTool_class v) { static auto m = std::vector { "CommandLineTool" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class& out) { - static auto m = std::map> { - {"CommandLineTool", https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class::CommandLineTool}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::CommandLineTool_class_CommandLineTool_class& out) { + static auto m = std::map> { + {"CommandLineTool", w3id_org::cwl::cwl::CommandLineTool_class_CommandLineTool_class::CommandLineTool}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::CommandLineTool_class_CommandLineTool_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::CommandLineTool_class_CommandLineTool_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::CommandLineTool_class_CommandLineTool_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::CommandLineTool_class_CommandLineTool_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class DockerRequirement_class_DockerRequirement_class : unsigned int { DockerRequirement }; @@ -1101,29 +1140,31 @@ inline auto to_string(DockerRequirement_class_DockerRequirement_class v) { static auto m = std::vector { "DockerRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class& out) { - static auto m = std::map> { - {"DockerRequirement", https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class::DockerRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::DockerRequirement_class_DockerRequirement_class& out) { + static auto m = std::map> { + {"DockerRequirement", w3id_org::cwl::cwl::DockerRequirement_class_DockerRequirement_class::DockerRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::DockerRequirement_class_DockerRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::DockerRequirement_class_DockerRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::DockerRequirement_class_DockerRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::DockerRequirement_class_DockerRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class SoftwareRequirement_class_SoftwareRequirement_class : unsigned int { SoftwareRequirement }; @@ -1131,29 +1172,31 @@ inline auto to_string(SoftwareRequirement_class_SoftwareRequirement_class v) { static auto m = std::vector { "SoftwareRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class& out) { - static auto m = std::map> { - {"SoftwareRequirement", https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class::SoftwareRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::SoftwareRequirement_class_SoftwareRequirement_class& out) { + static auto m = std::map> { + {"SoftwareRequirement", w3id_org::cwl::cwl::SoftwareRequirement_class_SoftwareRequirement_class::SoftwareRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::SoftwareRequirement_class_SoftwareRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::SoftwareRequirement_class_SoftwareRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SoftwareRequirement_class_SoftwareRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::SoftwareRequirement_class_SoftwareRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class InitialWorkDirRequirement_class_InitialWorkDirRequirement_class : unsigned int { InitialWorkDirRequirement }; @@ -1161,29 +1204,31 @@ inline auto to_string(InitialWorkDirRequirement_class_InitialWorkDirRequirement_ static auto m = std::vector { "InitialWorkDirRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class& out) { - static auto m = std::map> { - {"InitialWorkDirRequirement", https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class::InitialWorkDirRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class& out) { + static auto m = std::map> { + {"InitialWorkDirRequirement", w3id_org::cwl::cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class::InitialWorkDirRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::InitialWorkDirRequirement_class_InitialWorkDirRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class EnvVarRequirement_class_EnvVarRequirement_class : unsigned int { EnvVarRequirement }; @@ -1191,29 +1236,31 @@ inline auto to_string(EnvVarRequirement_class_EnvVarRequirement_class v) { static auto m = std::vector { "EnvVarRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class& out) { - static auto m = std::map> { - {"EnvVarRequirement", https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class::EnvVarRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::EnvVarRequirement_class_EnvVarRequirement_class& out) { + static auto m = std::map> { + {"EnvVarRequirement", w3id_org::cwl::cwl::EnvVarRequirement_class_EnvVarRequirement_class::EnvVarRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::EnvVarRequirement_class_EnvVarRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::EnvVarRequirement_class_EnvVarRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::EnvVarRequirement_class_EnvVarRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::EnvVarRequirement_class_EnvVarRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ShellCommandRequirement_class_ShellCommandRequirement_class : unsigned int { ShellCommandRequirement }; @@ -1221,29 +1268,31 @@ inline auto to_string(ShellCommandRequirement_class_ShellCommandRequirement_clas static auto m = std::vector { "ShellCommandRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class& out) { - static auto m = std::map> { - {"ShellCommandRequirement", https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class::ShellCommandRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ShellCommandRequirement_class_ShellCommandRequirement_class& out) { + static auto m = std::map> { + {"ShellCommandRequirement", w3id_org::cwl::cwl::ShellCommandRequirement_class_ShellCommandRequirement_class::ShellCommandRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ShellCommandRequirement_class_ShellCommandRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ShellCommandRequirement_class_ShellCommandRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ShellCommandRequirement_class_ShellCommandRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ShellCommandRequirement_class_ShellCommandRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ResourceRequirement_class_ResourceRequirement_class : unsigned int { ResourceRequirement }; @@ -1251,29 +1300,31 @@ inline auto to_string(ResourceRequirement_class_ResourceRequirement_class v) { static auto m = std::vector { "ResourceRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class& out) { - static auto m = std::map> { - {"ResourceRequirement", https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class::ResourceRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ResourceRequirement_class_ResourceRequirement_class& out) { + static auto m = std::map> { + {"ResourceRequirement", w3id_org::cwl::cwl::ResourceRequirement_class_ResourceRequirement_class::ResourceRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ResourceRequirement_class_ResourceRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ResourceRequirement_class_ResourceRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ResourceRequirement_class_ResourceRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ResourceRequirement_class_ResourceRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class WorkReuse_class_WorkReuse_class : unsigned int { WorkReuse }; @@ -1281,29 +1332,31 @@ inline auto to_string(WorkReuse_class_WorkReuse_class v) { static auto m = std::vector { "WorkReuse" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class& out) { - static auto m = std::map> { - {"WorkReuse", https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class::WorkReuse}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::WorkReuse_class_WorkReuse_class& out) { + static auto m = std::map> { + {"WorkReuse", w3id_org::cwl::cwl::WorkReuse_class_WorkReuse_class::WorkReuse}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::WorkReuse_class_WorkReuse_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::WorkReuse_class_WorkReuse_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::WorkReuse_class_WorkReuse_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::WorkReuse_class_WorkReuse_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class NetworkAccess_class_NetworkAccess_class : unsigned int { NetworkAccess }; @@ -1311,29 +1364,31 @@ inline auto to_string(NetworkAccess_class_NetworkAccess_class v) { static auto m = std::vector { "NetworkAccess" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class& out) { - static auto m = std::map> { - {"NetworkAccess", https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class::NetworkAccess}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::NetworkAccess_class_NetworkAccess_class& out) { + static auto m = std::map> { + {"NetworkAccess", w3id_org::cwl::cwl::NetworkAccess_class_NetworkAccess_class::NetworkAccess}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::NetworkAccess_class_NetworkAccess_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::NetworkAccess_class_NetworkAccess_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::NetworkAccess_class_NetworkAccess_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::NetworkAccess_class_NetworkAccess_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class InplaceUpdateRequirement_class_InplaceUpdateRequirement_class : unsigned int { InplaceUpdateRequirement }; @@ -1341,29 +1396,31 @@ inline auto to_string(InplaceUpdateRequirement_class_InplaceUpdateRequirement_cl static auto m = std::vector { "InplaceUpdateRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class& out) { - static auto m = std::map> { - {"InplaceUpdateRequirement", https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class::InplaceUpdateRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class& out) { + static auto m = std::map> { + {"InplaceUpdateRequirement", w3id_org::cwl::cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class::InplaceUpdateRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::InplaceUpdateRequirement_class_InplaceUpdateRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ToolTimeLimit_class_ToolTimeLimit_class : unsigned int { ToolTimeLimit }; @@ -1371,29 +1428,31 @@ inline auto to_string(ToolTimeLimit_class_ToolTimeLimit_class v) { static auto m = std::vector { "ToolTimeLimit" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class& out) { - static auto m = std::map> { - {"ToolTimeLimit", https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class::ToolTimeLimit}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ToolTimeLimit_class_ToolTimeLimit_class& out) { + static auto m = std::map> { + {"ToolTimeLimit", w3id_org::cwl::cwl::ToolTimeLimit_class_ToolTimeLimit_class::ToolTimeLimit}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ToolTimeLimit_class_ToolTimeLimit_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ToolTimeLimit_class_ToolTimeLimit_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ToolTimeLimit_class_ToolTimeLimit_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ToolTimeLimit_class_ToolTimeLimit_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ExpressionTool_class_ExpressionTool_class : unsigned int { ExpressionTool }; @@ -1401,29 +1460,31 @@ inline auto to_string(ExpressionTool_class_ExpressionTool_class v) { static auto m = std::vector { "ExpressionTool" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { - static auto m = std::map> { - {"ExpressionTool", https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class::ExpressionTool}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ExpressionTool_class_ExpressionTool_class& out) { + static auto m = std::map> { + {"ExpressionTool", w3id_org::cwl::cwl::ExpressionTool_class_ExpressionTool_class::ExpressionTool}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ExpressionTool_class_ExpressionTool_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ExpressionTool_class_ExpressionTool_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ExpressionTool_class_ExpressionTool_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ExpressionTool_class_ExpressionTool_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class LinkMergeMethod : unsigned int { merge_nested, merge_flattened @@ -1433,30 +1494,32 @@ inline auto to_string(LinkMergeMethod v) { "merge_nested", "merge_flattened" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { - static auto m = std::map> { - {"merge_nested", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_nested}, - {"merge_flattened", https___w3id_org_cwl_cwl::LinkMergeMethod::merge_flattened}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::LinkMergeMethod& out) { + static auto m = std::map> { + {"merge_nested", w3id_org::cwl::cwl::LinkMergeMethod::merge_nested}, + {"merge_flattened", w3id_org::cwl::cwl::LinkMergeMethod::merge_flattened}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::LinkMergeMethod v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::LinkMergeMethod v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::LinkMergeMethod"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::LinkMergeMethod"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::LinkMergeMethod& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::LinkMergeMethod& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class PickValueMethod : unsigned int { first_non_null, the_only_non_null, @@ -1468,31 +1531,33 @@ inline auto to_string(PickValueMethod v) { "the_only_non_null", "all_non_null" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::PickValueMethod& out) { - static auto m = std::map> { - {"first_non_null", https___w3id_org_cwl_cwl::PickValueMethod::first_non_null}, - {"the_only_non_null", https___w3id_org_cwl_cwl::PickValueMethod::the_only_non_null}, - {"all_non_null", https___w3id_org_cwl_cwl::PickValueMethod::all_non_null}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::PickValueMethod& out) { + static auto m = std::map> { + {"first_non_null", w3id_org::cwl::cwl::PickValueMethod::first_non_null}, + {"the_only_non_null", w3id_org::cwl::cwl::PickValueMethod::the_only_non_null}, + {"all_non_null", w3id_org::cwl::cwl::PickValueMethod::all_non_null}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::PickValueMethod v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::PickValueMethod v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::PickValueMethod"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::PickValueMethod"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::PickValueMethod& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::PickValueMethod& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ScatterMethod : unsigned int { dotproduct, nested_crossproduct, @@ -1504,31 +1569,33 @@ inline auto to_string(ScatterMethod v) { "nested_crossproduct", "flat_crossproduct" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterMethod& out) { - static auto m = std::map> { - {"dotproduct", https___w3id_org_cwl_cwl::ScatterMethod::dotproduct}, - {"nested_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::nested_crossproduct}, - {"flat_crossproduct", https___w3id_org_cwl_cwl::ScatterMethod::flat_crossproduct}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ScatterMethod& out) { + static auto m = std::map> { + {"dotproduct", w3id_org::cwl::cwl::ScatterMethod::dotproduct}, + {"nested_crossproduct", w3id_org::cwl::cwl::ScatterMethod::nested_crossproduct}, + {"flat_crossproduct", w3id_org::cwl::cwl::ScatterMethod::flat_crossproduct}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterMethod v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ScatterMethod v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ScatterMethod"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ScatterMethod"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterMethod& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ScatterMethod& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class Workflow_class_Workflow_class : unsigned int { Workflow }; @@ -1536,29 +1603,31 @@ inline auto to_string(Workflow_class_Workflow_class v) { static auto m = std::vector { "Workflow" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { - static auto m = std::map> { - {"Workflow", https___w3id_org_cwl_cwl::Workflow_class_Workflow_class::Workflow}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::Workflow_class_Workflow_class& out) { + static auto m = std::map> { + {"Workflow", w3id_org::cwl::cwl::Workflow_class_Workflow_class::Workflow}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Workflow_class_Workflow_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::Workflow_class_Workflow_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Workflow_class_Workflow_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::Workflow_class_Workflow_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Workflow_class_Workflow_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::Workflow_class_Workflow_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class : unsigned int { SubworkflowFeatureRequirement }; @@ -1566,29 +1635,31 @@ inline auto to_string(SubworkflowFeatureRequirement_class_SubworkflowFeatureRequ static auto m = std::vector { "SubworkflowFeatureRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { - static auto m = std::map> { - {"SubworkflowFeatureRequirement", https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class::SubworkflowFeatureRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { + static auto m = std::map> { + {"SubworkflowFeatureRequirement", w3id_org::cwl::cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class::SubworkflowFeatureRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::SubworkflowFeatureRequirement_class_SubworkflowFeatureRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class ScatterFeatureRequirement_class_ScatterFeatureRequirement_class : unsigned int { ScatterFeatureRequirement }; @@ -1596,29 +1667,31 @@ inline auto to_string(ScatterFeatureRequirement_class_ScatterFeatureRequirement_ static auto m = std::vector { "ScatterFeatureRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { - static auto m = std::map> { - {"ScatterFeatureRequirement", https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class::ScatterFeatureRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { + static auto m = std::map> { + {"ScatterFeatureRequirement", w3id_org::cwl::cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class::ScatterFeatureRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::ScatterFeatureRequirement_class_ScatterFeatureRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class : unsigned int { MultipleInputFeatureRequirement }; @@ -1626,29 +1699,31 @@ inline auto to_string(MultipleInputFeatureRequirement_class_MultipleInputFeature static auto m = std::vector { "MultipleInputFeatureRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { - static auto m = std::map> { - {"MultipleInputFeatureRequirement", https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class::MultipleInputFeatureRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { + static auto m = std::map> { + {"MultipleInputFeatureRequirement", w3id_org::cwl::cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class::MultipleInputFeatureRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::MultipleInputFeatureRequirement_class_MultipleInputFeatureRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class StepInputExpressionRequirement_class_StepInputExpressionRequirement_class : unsigned int { StepInputExpressionRequirement }; @@ -1656,29 +1731,31 @@ inline auto to_string(StepInputExpressionRequirement_class_StepInputExpressionRe static auto m = std::vector { "StepInputExpressionRequirement" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { - static auto m = std::map> { - {"StepInputExpressionRequirement", https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class::StepInputExpressionRequirement}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { + static auto m = std::map> { + {"StepInputExpressionRequirement", w3id_org::cwl::cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class::StepInputExpressionRequirement}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::StepInputExpressionRequirement_class_StepInputExpressionRequirement_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { enum class Operation_class_Operation_class : unsigned int { Operation }; @@ -1686,80 +1763,82 @@ inline auto to_string(Operation_class_Operation_class v) { static auto m = std::vector { "Operation" }; - using U = std::underlying_type_t; + using U = std::underlying_type_t; return m.at(static_cast(v)); } } -inline void to_enum(std::string_view v, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { - static auto m = std::map> { - {"Operation", https___w3id_org_cwl_cwl::Operation_class_Operation_class::Operation}, +inline void to_enum(std::string_view v, w3id_org::cwl::cwl::Operation_class_Operation_class& out) { + static auto m = std::map> { + {"Operation", w3id_org::cwl::cwl::Operation_class_Operation_class::Operation}, }; auto iter = m.find(v); if (iter == m.end()) throw bool{}; out = iter->second; } -inline auto toYaml(https___w3id_org_cwl_cwl::Operation_class_Operation_class v, [[maybe_unused]] store_config const& config) { +namespace w3id_org::cwl { +inline auto toYaml(w3id_org::cwl::cwl::Operation_class_Operation_class v, [[maybe_unused]] ::w3id_org::cwl::store_config const& config) { auto n = YAML::Node{std::string{to_string(v)}}; - if (config.generateTags) n.SetTag("https___w3id_org_cwl_cwl::Operation_class_Operation_class"); + if (config.generateTags) n.SetTag("w3id_org::cwl::cwl::Operation_class_Operation_class"); return n; } -inline void fromYaml(YAML::Node n, https___w3id_org_cwl_cwl::Operation_class_Operation_class& out) { +inline void fromYaml(YAML::Node n, w3id_org::cwl::cwl::Operation_class_Operation_class& out) { to_enum(n.as(), out); } -template <> struct IsConstant : std::true_type {}; +template <> struct IsConstant : std::true_type {}; +} -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { struct Documented { heap_object>> doc; virtual ~Documented() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { struct RecordField - : https___w3id_org_cwl_salad::Documented { + : w3id_org::cwl::salad::Documented { heap_object name; heap_object, RecordSchema, EnumSchema, ArraySchema, std::string, std::vector, RecordSchema, EnumSchema, ArraySchema, std::string>>>> type; ~RecordField() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { struct RecordSchema { heap_object>> fields; heap_object type; virtual ~RecordSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { struct EnumSchema { heap_object> name; heap_object> symbols; heap_object type; virtual ~EnumSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_salad { +namespace w3id_org::cwl::salad { struct ArraySchema { heap_object, RecordSchema, EnumSchema, ArraySchema, std::string, std::vector, RecordSchema, EnumSchema, ArraySchema, std::string>>>> items; heap_object type; virtual ~ArraySchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct File { heap_object class_; heap_object> location; @@ -1774,12 +1853,12 @@ struct File { heap_object> format; heap_object> contents; virtual ~File() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Directory { heap_object class_; heap_object> location; @@ -1787,118 +1866,118 @@ struct Directory { heap_object> basename; heap_object>>> listing; virtual ~Directory() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Labeled { heap_object> label; virtual ~Labeled() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Identified { heap_object> id; virtual ~Identified() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct LoadContents { heap_object> loadContents; heap_object> loadListing; virtual ~LoadContents() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct FieldBase - : https___w3id_org_cwl_cwl::Labeled { + : w3id_org::cwl::cwl::Labeled { heap_object>> secondaryFiles; heap_object> streamable; virtual ~FieldBase() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputFormat { heap_object, cwl_expression_string>> format; virtual ~InputFormat() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputFormat { heap_object> format; virtual ~OutputFormat() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Parameter - : https___w3id_org_cwl_cwl::FieldBase - , https___w3id_org_cwl_salad::Documented - , https___w3id_org_cwl_cwl::Identified { + : w3id_org::cwl::cwl::FieldBase + , w3id_org::cwl::salad::Documented + , w3id_org::cwl::cwl::Identified { virtual ~Parameter() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputBinding { heap_object> loadContents; virtual ~InputBinding() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct IOSchema - : https___w3id_org_cwl_cwl::Labeled - , https___w3id_org_cwl_salad::Documented { + : w3id_org::cwl::cwl::Labeled + , w3id_org::cwl::salad::Documented { heap_object> name; virtual ~IOSchema() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputSchema - : https___w3id_org_cwl_cwl::IOSchema { + : w3id_org::cwl::cwl::IOSchema { virtual ~InputSchema() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputSchema - : https___w3id_org_cwl_cwl::IOSchema { + : w3id_org::cwl::cwl::IOSchema { virtual ~OutputSchema() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputRecordField { heap_object>> doc; heap_object name; @@ -1910,48 +1989,48 @@ struct InputRecordField { heap_object> loadContents; heap_object> loadListing; virtual ~InputRecordField() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputRecordSchema { heap_object>> fields; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~InputRecordSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputEnumSchema - : https___w3id_org_cwl_salad::EnumSchema - , https___w3id_org_cwl_cwl::InputSchema { + : w3id_org::cwl::salad::EnumSchema + , w3id_org::cwl::cwl::InputSchema { ~InputEnumSchema() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputArraySchema { heap_object>>> items; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~InputArraySchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputRecordField { heap_object>> doc; heap_object name; @@ -1961,82 +2040,82 @@ struct OutputRecordField { heap_object> streamable; heap_object> format; virtual ~OutputRecordField() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputRecordSchema { heap_object>> fields; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~OutputRecordSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputEnumSchema - : https___w3id_org_cwl_salad::EnumSchema - , https___w3id_org_cwl_cwl::OutputSchema { + : w3id_org::cwl::salad::EnumSchema + , w3id_org::cwl::cwl::OutputSchema { ~OutputEnumSchema() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputArraySchema { heap_object>>> items; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~OutputArraySchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InputParameter - : https___w3id_org_cwl_cwl::Parameter - , https___w3id_org_cwl_cwl::InputFormat - , https___w3id_org_cwl_cwl::LoadContents { + : w3id_org::cwl::cwl::Parameter + , w3id_org::cwl::cwl::InputFormat + , w3id_org::cwl::cwl::LoadContents { heap_object> default_; virtual ~InputParameter() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OutputParameter - : https___w3id_org_cwl_cwl::Parameter - , https___w3id_org_cwl_cwl::OutputFormat { + : w3id_org::cwl::cwl::Parameter + , w3id_org::cwl::cwl::OutputFormat { virtual ~OutputParameter() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ProcessRequirement { virtual ~ProcessRequirement() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Process - : https___w3id_org_cwl_cwl::Identified - , https___w3id_org_cwl_cwl::Labeled - , https___w3id_org_cwl_salad::Documented { + : w3id_org::cwl::cwl::Identified + , w3id_org::cwl::cwl::Labeled + , w3id_org::cwl::salad::Documented { heap_object>> inputs; heap_object>> outputs; heap_object>>> requirements; @@ -2044,75 +2123,75 @@ struct Process heap_object> cwlVersion; heap_object>> intent; virtual ~Process() = 0; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InlineJavascriptRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object>> expressionLib; ~InlineJavascriptRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputSchema { virtual ~CommandInputSchema() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct SchemaDefRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object>> types; ~SchemaDefRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct SecondaryFileSchema { heap_object> pattern; heap_object> required; virtual ~SecondaryFileSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct LoadListingRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> loadListing; ~LoadListingRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct EnvironmentDef { heap_object envName; heap_object> envValue; virtual ~EnvironmentDef() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandLineBinding - : https___w3id_org_cwl_cwl::InputBinding { + : w3id_org::cwl::cwl::InputBinding { heap_object> position; heap_object> prefix; heap_object> separate; @@ -2120,32 +2199,32 @@ struct CommandLineBinding heap_object> valueFrom; heap_object> shellQuote; ~CommandLineBinding() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputBinding - : https___w3id_org_cwl_cwl::LoadContents { + : w3id_org::cwl::cwl::LoadContents { heap_object>> glob; heap_object> outputEval; ~CommandOutputBinding() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandLineBindable { heap_object> inputBinding; virtual ~CommandLineBindable() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputRecordField { heap_object>> doc; heap_object name; @@ -2158,54 +2237,54 @@ struct CommandInputRecordField { heap_object> loadListing; heap_object> inputBinding; virtual ~CommandInputRecordField() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputRecordSchema { heap_object>> fields; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; heap_object> inputBinding; virtual ~CommandInputRecordSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputEnumSchema { heap_object> name; heap_object> symbols; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> inputBinding; virtual ~CommandInputEnumSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputArraySchema { heap_object>>> items; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; heap_object> inputBinding; virtual ~CommandInputArraySchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputRecordField { heap_object>> doc; heap_object name; @@ -2216,73 +2295,73 @@ struct CommandOutputRecordField { heap_object> format; heap_object> outputBinding; virtual ~CommandOutputRecordField() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputRecordSchema { heap_object>> fields; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~CommandOutputRecordSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputEnumSchema { heap_object> name; heap_object> symbols; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; virtual ~CommandOutputEnumSchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputArraySchema { heap_object>>> items; - heap_object type; + heap_object type; heap_object> label; heap_object>> doc; heap_object> name; virtual ~CommandOutputArraySchema() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandInputParameter - : https___w3id_org_cwl_cwl::InputParameter { + : w3id_org::cwl::cwl::InputParameter { heap_object>>> type; heap_object> inputBinding; ~CommandInputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { + : w3id_org::cwl::cwl::OutputParameter { heap_object>>> type; heap_object> outputBinding; ~CommandOutputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct CommandLineTool { heap_object> id; heap_object> label; @@ -2303,14 +2382,14 @@ struct CommandLineTool { heap_object>> temporaryFailCodes; heap_object>> permanentFailCodes; virtual ~CommandLineTool() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct DockerRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> dockerPull; heap_object> dockerLoad; @@ -2319,79 +2398,79 @@ struct DockerRequirement heap_object> dockerImageId; heap_object> dockerOutputDirectory; ~DockerRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct SoftwareRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> packages; ~SoftwareRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct SoftwarePackage { heap_object package; heap_object>> version; heap_object>> specs; virtual ~SoftwarePackage() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Dirent { heap_object> entryname; heap_object> entry; heap_object> writable; virtual ~Dirent() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InitialWorkDirRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object>>>>> listing; ~InitialWorkDirRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct EnvVarRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> envDef; ~EnvVarRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ShellCommandRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; ~ShellCommandRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ResourceRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> coresMin; heap_object> coresMax; @@ -2402,77 +2481,77 @@ struct ResourceRequirement heap_object> outdirMin; heap_object> outdirMax; ~ResourceRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkReuse - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> enableReuse; ~WorkReuse() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct NetworkAccess - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> networkAccess; ~NetworkAccess() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct InplaceUpdateRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object inplaceUpdate; ~InplaceUpdateRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ToolTimeLimit - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; heap_object> timelimit; ~ToolTimeLimit() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ExpressionToolOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { + : w3id_org::cwl::cwl::OutputParameter { heap_object>>> type; ~ExpressionToolOutputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkflowInputParameter - : https___w3id_org_cwl_cwl::InputParameter { + : w3id_org::cwl::cwl::InputParameter { heap_object>>> type; heap_object> inputBinding; ~WorkflowInputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ExpressionTool { heap_object> id; heap_object> label; @@ -2486,63 +2565,63 @@ struct ExpressionTool { heap_object class_; heap_object expression; virtual ~ExpressionTool() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkflowOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { + : w3id_org::cwl::cwl::OutputParameter { heap_object>> outputSource; heap_object> linkMerge; heap_object> pickValue; heap_object>>> type; ~WorkflowOutputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Sink { heap_object>> source; heap_object> linkMerge; heap_object> pickValue; virtual ~Sink() = 0; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkflowStepInput - : https___w3id_org_cwl_cwl::Identified - , https___w3id_org_cwl_cwl::Sink - , https___w3id_org_cwl_cwl::LoadContents - , https___w3id_org_cwl_cwl::Labeled { + : w3id_org::cwl::cwl::Identified + , w3id_org::cwl::cwl::Sink + , w3id_org::cwl::cwl::LoadContents + , w3id_org::cwl::cwl::Labeled { heap_object> default_; heap_object> valueFrom; ~WorkflowStepInput() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkflowStepOutput - : https___w3id_org_cwl_cwl::Identified { + : w3id_org::cwl::cwl::Identified { ~WorkflowStepOutput() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct WorkflowStep - : https___w3id_org_cwl_cwl::Identified - , https___w3id_org_cwl_cwl::Labeled - , https___w3id_org_cwl_salad::Documented { + : w3id_org::cwl::cwl::Identified + , w3id_org::cwl::cwl::Labeled + , w3id_org::cwl::salad::Documented { heap_object> in; heap_object>> out; heap_object>>> requirements; @@ -2552,12 +2631,12 @@ struct WorkflowStep heap_object>> scatter; heap_object> scatterMethod; ~WorkflowStep() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Workflow { heap_object> id; heap_object> label; @@ -2571,72 +2650,72 @@ struct Workflow { heap_object class_; heap_object> steps; virtual ~Workflow() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct SubworkflowFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; ~SubworkflowFeatureRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct ScatterFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; ~ScatterFeatureRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct MultipleInputFeatureRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; ~MultipleInputFeatureRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct StepInputExpressionRequirement - : https___w3id_org_cwl_cwl::ProcessRequirement { + : w3id_org::cwl::cwl::ProcessRequirement { heap_object class_; ~StepInputExpressionRequirement() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OperationInputParameter - : https___w3id_org_cwl_cwl::InputParameter { + : w3id_org::cwl::cwl::InputParameter { heap_object>>> type; ~OperationInputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct OperationOutputParameter - : https___w3id_org_cwl_cwl::OutputParameter { + : w3id_org::cwl::cwl::OutputParameter { heap_object>>> type; ~OperationOutputParameter() override = default; - auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node override; + auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node override; void fromYaml(YAML::Node const& n) override; }; } -namespace https___w3id_org_cwl_cwl { +namespace w3id_org::cwl::cwl { struct Operation { heap_object> id; heap_object> label; @@ -2649,17 +2728,18 @@ struct Operation { heap_object>> intent; heap_object class_; virtual ~Operation() = default; - virtual auto toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node; + virtual auto toYaml([[maybe_unused]] w3id_org::cwl::store_config const& config) const -> YAML::Node; virtual void fromYaml(YAML::Node const& n); }; } -template -heap_object::~heap_object() = default; +namespace w3id_org::cwl { +template heap_object::~heap_object() = default; +} -inline https___w3id_org_cwl_salad::Documented::~Documented() = default; -inline auto https___w3id_org_cwl_salad::Documented::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::salad::Documented::~Documented() = default; +inline auto w3id_org::cwl::salad::Documented::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Documented"); @@ -2671,21 +2751,21 @@ inline auto https___w3id_org_cwl_salad::Documented::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::salad::Documented::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["doc"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *doc); } } -inline auto https___w3id_org_cwl_salad::RecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::salad::RecordField::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("RecordField"); } - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::Documented::toYaml(config)); { auto member = toYaml(*name, config); member = convertListToMap(member, "", "", config); @@ -2699,9 +2779,9 @@ inline auto https___w3id_org_cwl_salad::RecordField::toYaml([[maybe_unused]] sto } return n; } -inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_salad::Documented::fromYaml(n); +inline void w3id_org::cwl::salad::RecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::salad::Documented::fromYaml(n); { auto nodeAsList = convertMapToList(n["name"], "", ""); auto expandedNode = (nodeAsList); @@ -2713,20 +2793,21 @@ inline void https___w3id_org_cwl_salad::RecordField::fromYaml([[maybe_unused]] Y fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::salad::RecordField> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::salad::RecordField> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_salad::RecordField{}; + auto res = ::w3id_org::cwl::salad::RecordField{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -2735,8 +2816,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::salad::RecordSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("RecordSchema"); @@ -2754,8 +2836,8 @@ inline auto https___w3id_org_cwl_salad::RecordSchema::toYaml([[maybe_unused]] st } return n; } -inline void https___w3id_org_cwl_salad::RecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::salad::RecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["fields"], "name", "type"); auto expandedNode = (nodeAsList); @@ -2767,20 +2849,21 @@ inline void https___w3id_org_cwl_salad::RecordSchema::fromYaml([[maybe_unused]] fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::salad::RecordSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::salad::RecordSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_salad::RecordSchema{}; + auto res = ::w3id_org::cwl::salad::RecordSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["fields"], *res.fields); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -2789,8 +2872,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::EnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::salad::EnumSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("EnumSchema"); @@ -2813,8 +2897,8 @@ inline auto https___w3id_org_cwl_salad::EnumSchema::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_salad::EnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::salad::EnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["name"], "", ""); auto expandedNode = (nodeAsList); @@ -2831,26 +2915,27 @@ inline void https___w3id_org_cwl_salad::EnumSchema::fromYaml([[maybe_unused]] YA fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::salad::EnumSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::salad::EnumSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_salad::EnumSchema{}; + auto res = ::w3id_org::cwl::salad::EnumSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["symbols"], *res.symbols); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -2859,8 +2944,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_salad::ArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::salad::ArraySchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ArraySchema"); @@ -2878,8 +2964,8 @@ inline auto https___w3id_org_cwl_salad::ArraySchema::toYaml([[maybe_unused]] sto } return n; } -inline void https___w3id_org_cwl_salad::ArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::salad::ArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["items"], "", ""); auto expandedNode = (nodeAsList); @@ -2891,20 +2977,21 @@ inline void https___w3id_org_cwl_salad::ArraySchema::fromYaml([[maybe_unused]] Y fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::salad::ArraySchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::salad::ArraySchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_salad::ArraySchema{}; + auto res = ::w3id_org::cwl::salad::ArraySchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["items"], *res.items); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -2913,8 +3000,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::File::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::File::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("File"); @@ -2981,8 +3069,8 @@ inline auto https___w3id_org_cwl_cwl::File::toYaml([[maybe_unused]] store_config } return n; } -inline void https___w3id_org_cwl_cwl::File::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::File::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -3044,80 +3132,81 @@ inline void https___w3id_org_cwl_cwl::File::fromYaml([[maybe_unused]] YAML::Node fromYaml(expandedNode, *contents); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::File> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::File> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::File{}; + auto res = ::w3id_org::cwl::cwl::File{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["location"], *res.location); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["path"], *res.path); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["basename"], *res.basename); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dirname"], *res.dirname); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["nameroot"], *res.nameroot); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["nameext"], *res.nameext); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["checksum"], *res.checksum); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["size"], *res.size); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["secondaryFiles"], *res.secondaryFiles); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["format"], *res.format); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["contents"], *res.contents); fromYaml(n, res); return res; @@ -3126,8 +3215,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Directory::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::Directory::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Directory"); @@ -3159,8 +3249,8 @@ inline auto https___w3id_org_cwl_cwl::Directory::toYaml([[maybe_unused]] store_c } return n; } -inline void https___w3id_org_cwl_cwl::Directory::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Directory::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -3187,38 +3277,39 @@ inline void https___w3id_org_cwl_cwl::Directory::fromYaml([[maybe_unused]] YAML: fromYaml(expandedNode, *listing); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::Directory> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::Directory> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Directory{}; + auto res = ::w3id_org::cwl::cwl::Directory{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["location"], *res.location); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["path"], *res.path); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["basename"], *res.basename); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["listing"], *res.listing); fromYaml(n, res); return res; @@ -3227,9 +3318,10 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline https___w3id_org_cwl_cwl::Labeled::~Labeled() = default; -inline auto https___w3id_org_cwl_cwl::Labeled::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline w3id_org::cwl::cwl::Labeled::~Labeled() = default; +inline auto w3id_org::cwl::cwl::Labeled::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Labeled"); @@ -3241,17 +3333,17 @@ inline auto https___w3id_org_cwl_cwl::Labeled::toYaml([[maybe_unused]] store_con } return n; } -inline void https___w3id_org_cwl_cwl::Labeled::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Labeled::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["label"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *label); } } -inline https___w3id_org_cwl_cwl::Identified::~Identified() = default; -inline auto https___w3id_org_cwl_cwl::Identified::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::Identified::~Identified() = default; +inline auto w3id_org::cwl::cwl::Identified::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Identified"); @@ -3263,17 +3355,17 @@ inline auto https___w3id_org_cwl_cwl::Identified::toYaml([[maybe_unused]] store_ } return n; } -inline void https___w3id_org_cwl_cwl::Identified::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Identified::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["id"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *id); } } -inline https___w3id_org_cwl_cwl::LoadContents::~LoadContents() = default; -inline auto https___w3id_org_cwl_cwl::LoadContents::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::LoadContents::~LoadContents() = default; +inline auto w3id_org::cwl::cwl::LoadContents::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("LoadContents"); @@ -3290,8 +3382,8 @@ inline auto https___w3id_org_cwl_cwl::LoadContents::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_cwl::LoadContents::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::LoadContents::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["loadContents"], "", ""); auto expandedNode = (nodeAsList); @@ -3303,14 +3395,14 @@ inline void https___w3id_org_cwl_cwl::LoadContents::fromYaml([[maybe_unused]] YA fromYaml(expandedNode, *loadListing); } } -inline https___w3id_org_cwl_cwl::FieldBase::~FieldBase() = default; -inline auto https___w3id_org_cwl_cwl::FieldBase::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::FieldBase::~FieldBase() = default; +inline auto w3id_org::cwl::cwl::FieldBase::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("FieldBase"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Labeled::toYaml(config)); { auto member = toYaml(*secondaryFiles, config); member = convertListToMap(member, "", "", config); @@ -3323,9 +3415,9 @@ inline auto https___w3id_org_cwl_cwl::FieldBase::toYaml([[maybe_unused]] store_c } return n; } -inline void https___w3id_org_cwl_cwl::FieldBase::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); +inline void w3id_org::cwl::cwl::FieldBase::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Labeled::fromYaml(n); { auto nodeAsList = convertMapToList(n["secondaryFiles"], "", ""); auto expandedNode = (nodeAsList); @@ -3337,9 +3429,9 @@ inline void https___w3id_org_cwl_cwl::FieldBase::fromYaml([[maybe_unused]] YAML: fromYaml(expandedNode, *streamable); } } -inline https___w3id_org_cwl_cwl::InputFormat::~InputFormat() = default; -inline auto https___w3id_org_cwl_cwl::InputFormat::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::InputFormat::~InputFormat() = default; +inline auto w3id_org::cwl::cwl::InputFormat::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputFormat"); @@ -3351,17 +3443,17 @@ inline auto https___w3id_org_cwl_cwl::InputFormat::toYaml([[maybe_unused]] store } return n; } -inline void https___w3id_org_cwl_cwl::InputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::InputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["format"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *format); } } -inline https___w3id_org_cwl_cwl::OutputFormat::~OutputFormat() = default; -inline auto https___w3id_org_cwl_cwl::OutputFormat::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::OutputFormat::~OutputFormat() = default; +inline auto w3id_org::cwl::cwl::OutputFormat::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputFormat"); @@ -3373,34 +3465,34 @@ inline auto https___w3id_org_cwl_cwl::OutputFormat::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_cwl::OutputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::OutputFormat::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["format"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *format); } } -inline https___w3id_org_cwl_cwl::Parameter::~Parameter() = default; -inline auto https___w3id_org_cwl_cwl::Parameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::Parameter::~Parameter() = default; +inline auto w3id_org::cwl::cwl::Parameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Parameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::FieldBase::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::FieldBase::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::Documented::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Identified::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::Parameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::FieldBase::fromYaml(n); - https___w3id_org_cwl_salad::Documented::fromYaml(n); - https___w3id_org_cwl_cwl::Identified::fromYaml(n); +inline void w3id_org::cwl::cwl::Parameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::FieldBase::fromYaml(n); + w3id_org::cwl::salad::Documented::fromYaml(n); + w3id_org::cwl::cwl::Identified::fromYaml(n); } -inline auto https___w3id_org_cwl_cwl::InputBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::cwl::InputBinding::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputBinding"); @@ -3412,22 +3504,23 @@ inline auto https___w3id_org_cwl_cwl::InputBinding::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_cwl::InputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::InputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["loadContents"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *loadContents); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InputBinding> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InputBinding> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InputBinding{}; + auto res = ::w3id_org::cwl::cwl::InputBinding{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadContents"], *res.loadContents); fromYaml(n, res); return res; @@ -3436,15 +3529,16 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline https___w3id_org_cwl_cwl::IOSchema::~IOSchema() = default; -inline auto https___w3id_org_cwl_cwl::IOSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline w3id_org::cwl::cwl::IOSchema::~IOSchema() = default; +inline auto w3id_org::cwl::cwl::IOSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("IOSchema"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Labeled::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::Documented::toYaml(config)); { auto member = toYaml(*name, config); member = convertListToMap(member, "", "", config); @@ -3452,46 +3546,46 @@ inline auto https___w3id_org_cwl_cwl::IOSchema::toYaml([[maybe_unused]] store_co } return n; } -inline void https___w3id_org_cwl_cwl::IOSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - https___w3id_org_cwl_salad::Documented::fromYaml(n); +inline void w3id_org::cwl::cwl::IOSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Labeled::fromYaml(n); + w3id_org::cwl::salad::Documented::fromYaml(n); { auto nodeAsList = convertMapToList(n["name"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *name); } } -inline https___w3id_org_cwl_cwl::InputSchema::~InputSchema() = default; -inline auto https___w3id_org_cwl_cwl::InputSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::InputSchema::~InputSchema() = default; +inline auto w3id_org::cwl::cwl::InputSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputSchema"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::IOSchema::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::InputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::IOSchema::fromYaml(n); +inline void w3id_org::cwl::cwl::InputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::IOSchema::fromYaml(n); } -inline https___w3id_org_cwl_cwl::OutputSchema::~OutputSchema() = default; -inline auto https___w3id_org_cwl_cwl::OutputSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::OutputSchema::~OutputSchema() = default; +inline auto w3id_org::cwl::cwl::OutputSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputSchema"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::IOSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::IOSchema::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::OutputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::IOSchema::fromYaml(n); +inline void w3id_org::cwl::cwl::OutputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::IOSchema::fromYaml(n); } -inline auto https___w3id_org_cwl_cwl::InputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::cwl::InputRecordField::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputRecordField"); @@ -3544,8 +3638,8 @@ inline auto https___w3id_org_cwl_cwl::InputRecordField::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::InputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::InputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["doc"], "", ""); auto expandedNode = (nodeAsList); @@ -3592,62 +3686,63 @@ inline void https___w3id_org_cwl_cwl::InputRecordField::fromYaml([[maybe_unused] fromYaml(expandedNode, *loadListing); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InputRecordField> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InputRecordField> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InputRecordField{}; + auto res = ::w3id_org::cwl::cwl::InputRecordField{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["secondaryFiles"], *res.secondaryFiles); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["streamable"], *res.streamable); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["format"], *res.format); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadContents"], *res.loadContents); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadListing"], *res.loadListing); fromYaml(n, res); return res; @@ -3656,8 +3751,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::InputRecordSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputRecordSchema"); @@ -3690,8 +3786,8 @@ inline auto https___w3id_org_cwl_cwl::InputRecordSchema::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::InputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::InputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["fields"], "name", "type"); auto expandedNode = (nodeAsList); @@ -3718,38 +3814,39 @@ inline void https___w3id_org_cwl_cwl::InputRecordSchema::fromYaml([[maybe_unused fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InputRecordSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InputRecordSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InputRecordSchema{}; + auto res = ::w3id_org::cwl::cwl::InputRecordSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["fields"], *res.fields); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -3758,33 +3855,36 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::InputEnumSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputEnumSchema"); } - n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::EnumSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputSchema::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::InputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_salad::EnumSchema::fromYaml(n); - https___w3id_org_cwl_cwl::InputSchema::fromYaml(n); +inline void w3id_org::cwl::cwl::InputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::salad::EnumSchema::fromYaml(n); + w3id_org::cwl::cwl::InputSchema::fromYaml(n); } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InputEnumSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InputEnumSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InputEnumSchema{}; + auto res = ::w3id_org::cwl::cwl::InputEnumSchema{}; return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::InputArraySchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputArraySchema"); @@ -3817,8 +3917,8 @@ inline auto https___w3id_org_cwl_cwl::InputArraySchema::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::InputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::InputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["items"], "", ""); auto expandedNode = (nodeAsList); @@ -3845,38 +3945,39 @@ inline void https___w3id_org_cwl_cwl::InputArraySchema::fromYaml([[maybe_unused] fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InputArraySchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InputArraySchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InputArraySchema{}; + auto res = ::w3id_org::cwl::cwl::InputArraySchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["items"], *res.items); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -3885,8 +3986,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OutputRecordField::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputRecordField"); @@ -3929,8 +4031,8 @@ inline auto https___w3id_org_cwl_cwl::OutputRecordField::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::OutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::OutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["doc"], "", ""); auto expandedNode = (nodeAsList); @@ -3967,50 +4069,51 @@ inline void https___w3id_org_cwl_cwl::OutputRecordField::fromYaml([[maybe_unused fromYaml(expandedNode, *format); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OutputRecordField> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OutputRecordField> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OutputRecordField{}; + auto res = ::w3id_org::cwl::cwl::OutputRecordField{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["secondaryFiles"], *res.secondaryFiles); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["streamable"], *res.streamable); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["format"], *res.format); fromYaml(n, res); return res; @@ -4019,8 +4122,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputRecordSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OutputRecordSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputRecordSchema"); @@ -4053,8 +4157,8 @@ inline auto https___w3id_org_cwl_cwl::OutputRecordSchema::toYaml([[maybe_unused] } return n; } -inline void https___w3id_org_cwl_cwl::OutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::OutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["fields"], "name", "type"); auto expandedNode = (nodeAsList); @@ -4081,38 +4185,39 @@ inline void https___w3id_org_cwl_cwl::OutputRecordSchema::fromYaml([[maybe_unuse fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OutputRecordSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OutputRecordSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OutputRecordSchema{}; + auto res = ::w3id_org::cwl::cwl::OutputRecordSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["fields"], *res.fields); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -4121,33 +4226,36 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputEnumSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OutputEnumSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputEnumSchema"); } - n = mergeYaml(n, https___w3id_org_cwl_salad::EnumSchema::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::EnumSchema::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputSchema::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::OutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_salad::EnumSchema::fromYaml(n); - https___w3id_org_cwl_cwl::OutputSchema::fromYaml(n); +inline void w3id_org::cwl::cwl::OutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::salad::EnumSchema::fromYaml(n); + w3id_org::cwl::cwl::OutputSchema::fromYaml(n); } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OutputEnumSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OutputEnumSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OutputEnumSchema{}; + auto res = ::w3id_org::cwl::cwl::OutputEnumSchema{}; return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::OutputArraySchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OutputArraySchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputArraySchema"); @@ -4180,8 +4288,8 @@ inline auto https___w3id_org_cwl_cwl::OutputArraySchema::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::OutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::OutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["items"], "", ""); auto expandedNode = (nodeAsList); @@ -4208,38 +4316,39 @@ inline void https___w3id_org_cwl_cwl::OutputArraySchema::fromYaml([[maybe_unused fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OutputArraySchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OutputArraySchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OutputArraySchema{}; + auto res = ::w3id_org::cwl::cwl::OutputArraySchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["items"], *res.items); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -4248,16 +4357,17 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline https___w3id_org_cwl_cwl::InputParameter::~InputParameter() = default; -inline auto https___w3id_org_cwl_cwl::InputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline w3id_org::cwl::cwl::InputParameter::~InputParameter() = default; +inline auto w3id_org::cwl::cwl::InputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputFormat::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Parameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputFormat::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::LoadContents::toYaml(config)); { auto member = toYaml(*default_, config); member = convertListToMap(member, "", "", config); @@ -4265,55 +4375,55 @@ inline auto https___w3id_org_cwl_cwl::InputParameter::toYaml([[maybe_unused]] st } return n; } -inline void https___w3id_org_cwl_cwl::InputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Parameter::fromYaml(n); - https___w3id_org_cwl_cwl::InputFormat::fromYaml(n); - https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); +inline void w3id_org::cwl::cwl::InputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Parameter::fromYaml(n); + w3id_org::cwl::cwl::InputFormat::fromYaml(n); + w3id_org::cwl::cwl::LoadContents::fromYaml(n); { auto nodeAsList = convertMapToList(n["default"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *default_); } } -inline https___w3id_org_cwl_cwl::OutputParameter::~OutputParameter() = default; -inline auto https___w3id_org_cwl_cwl::OutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::OutputParameter::~OutputParameter() = default; +inline auto w3id_org::cwl::cwl::OutputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OutputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Parameter::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputFormat::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Parameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputFormat::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::OutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Parameter::fromYaml(n); - https___w3id_org_cwl_cwl::OutputFormat::fromYaml(n); +inline void w3id_org::cwl::cwl::OutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Parameter::fromYaml(n); + w3id_org::cwl::cwl::OutputFormat::fromYaml(n); } -inline https___w3id_org_cwl_cwl::ProcessRequirement::~ProcessRequirement() = default; -inline auto https___w3id_org_cwl_cwl::ProcessRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::ProcessRequirement::~ProcessRequirement() = default; +inline auto w3id_org::cwl::cwl::ProcessRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ProcessRequirement"); } return n; } -inline void https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::ProcessRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; } -inline https___w3id_org_cwl_cwl::Process::~Process() = default; -inline auto https___w3id_org_cwl_cwl::Process::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline w3id_org::cwl::cwl::Process::~Process() = default; +inline auto w3id_org::cwl::cwl::Process::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Process"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Identified::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Labeled::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::Documented::toYaml(config)); { auto member = toYaml(*inputs, config); member = convertListToMap(member, "id", "type", config); @@ -4346,11 +4456,11 @@ inline auto https___w3id_org_cwl_cwl::Process::toYaml([[maybe_unused]] store_con } return n; } -inline void https___w3id_org_cwl_cwl::Process::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - https___w3id_org_cwl_salad::Documented::fromYaml(n); +inline void w3id_org::cwl::cwl::Process::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Identified::fromYaml(n); + w3id_org::cwl::cwl::Labeled::fromYaml(n); + w3id_org::cwl::salad::Documented::fromYaml(n); { auto nodeAsList = convertMapToList(n["inputs"], "id", "type"); auto expandedNode = (nodeAsList); @@ -4382,13 +4492,13 @@ inline void https___w3id_org_cwl_cwl::Process::fromYaml([[maybe_unused]] YAML::N fromYaml(expandedNode, *intent); } } -inline auto https___w3id_org_cwl_cwl::InlineJavascriptRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::cwl::InlineJavascriptRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InlineJavascriptRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -4401,9 +4511,9 @@ inline auto https___w3id_org_cwl_cwl::InlineJavascriptRequirement::toYaml([[mayb } return n; } -inline void https___w3id_org_cwl_cwl::InlineJavascriptRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::InlineJavascriptRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -4415,20 +4525,21 @@ inline void https___w3id_org_cwl_cwl::InlineJavascriptRequirement::fromYaml([[ma fromYaml(expandedNode, *expressionLib); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InlineJavascriptRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InlineJavascriptRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InlineJavascriptRequirement{}; + auto res = ::w3id_org::cwl::cwl::InlineJavascriptRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["expressionLib"], *res.expressionLib); fromYaml(n, res); return res; @@ -4437,25 +4548,26 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline w3id_org::cwl::cwl::CommandInputSchema::~CommandInputSchema() = default; +inline auto w3id_org::cwl::cwl::CommandInputSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputSchema"); } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandInputSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; } -inline auto https___w3id_org_cwl_cwl::SchemaDefRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::cwl::SchemaDefRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("SchemaDefRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -4468,9 +4580,9 @@ inline auto https___w3id_org_cwl_cwl::SchemaDefRequirement::toYaml([[maybe_unuse } return n; } -inline void https___w3id_org_cwl_cwl::SchemaDefRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::SchemaDefRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -4482,20 +4594,21 @@ inline void https___w3id_org_cwl_cwl::SchemaDefRequirement::fromYaml([[maybe_unu fromYaml(expandedNode, *types); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::SchemaDefRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::SchemaDefRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SchemaDefRequirement{}; + auto res = ::w3id_org::cwl::cwl::SchemaDefRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["types"], *res.types); fromYaml(n, res); return res; @@ -4504,8 +4617,9 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SecondaryFileSchema::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::SecondaryFileSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("SecondaryFileSchema"); @@ -4522,8 +4636,8 @@ inline auto https___w3id_org_cwl_cwl::SecondaryFileSchema::toYaml([[maybe_unused } return n; } -inline void https___w3id_org_cwl_cwl::SecondaryFileSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::SecondaryFileSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["pattern"], "", ""); auto expandedNode = (nodeAsList); @@ -4535,20 +4649,21 @@ inline void https___w3id_org_cwl_cwl::SecondaryFileSchema::fromYaml([[maybe_unus fromYaml(expandedNode, *required); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::SecondaryFileSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::SecondaryFileSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SecondaryFileSchema{}; + auto res = ::w3id_org::cwl::cwl::SecondaryFileSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["pattern"], *res.pattern); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["required"], *res.required); fromYaml(n, res); return res; @@ -4557,13 +4672,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::LoadListingRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::LoadListingRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("LoadListingRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -4576,9 +4692,9 @@ inline auto https___w3id_org_cwl_cwl::LoadListingRequirement::toYaml([[maybe_unu } return n; } -inline void https___w3id_org_cwl_cwl::LoadListingRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::LoadListingRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -4590,20 +4706,21 @@ inline void https___w3id_org_cwl_cwl::LoadListingRequirement::fromYaml([[maybe_u fromYaml(expandedNode, *loadListing); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::LoadListingRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::LoadListingRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::LoadListingRequirement{}; + auto res = ::w3id_org::cwl::cwl::LoadListingRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadListing"], *res.loadListing); fromYaml(n, res); return res; @@ -4612,8 +4729,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::EnvironmentDef::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("EnvironmentDef"); @@ -4630,8 +4748,8 @@ inline auto https___w3id_org_cwl_cwl::EnvironmentDef::toYaml([[maybe_unused]] st } return n; } -inline void https___w3id_org_cwl_cwl::EnvironmentDef::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::EnvironmentDef::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["envName"], "", ""); auto expandedNode = (nodeAsList); @@ -4643,20 +4761,21 @@ inline void https___w3id_org_cwl_cwl::EnvironmentDef::fromYaml([[maybe_unused]] fromYaml(expandedNode, *envValue); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::EnvironmentDef> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::EnvironmentDef> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::EnvironmentDef{}; + auto res = ::w3id_org::cwl::cwl::EnvironmentDef{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["envName"], *res.envName); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["envValue"], *res.envValue); fromYaml(n, res); return res; @@ -4665,13 +4784,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandLineBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandLineBinding::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandLineBinding"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputBinding::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputBinding::toYaml(config)); { auto member = toYaml(*position, config); member = convertListToMap(member, "", "", config); @@ -4704,9 +4824,9 @@ inline auto https___w3id_org_cwl_cwl::CommandLineBinding::toYaml([[maybe_unused] } return n; } -inline void https___w3id_org_cwl_cwl::CommandLineBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::InputBinding::fromYaml(n); +inline void w3id_org::cwl::cwl::CommandLineBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::InputBinding::fromYaml(n); { auto nodeAsList = convertMapToList(n["position"], "", ""); auto expandedNode = (nodeAsList); @@ -4738,44 +4858,45 @@ inline void https___w3id_org_cwl_cwl::CommandLineBinding::fromYaml([[maybe_unuse fromYaml(expandedNode, *shellQuote); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandLineBinding> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandLineBinding> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandLineBinding{}; + auto res = ::w3id_org::cwl::cwl::CommandLineBinding{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["position"], *res.position); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["prefix"], *res.prefix); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["separate"], *res.separate); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["itemSeparator"], *res.itemSeparator); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["valueFrom"], *res.valueFrom); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["shellQuote"], *res.shellQuote); fromYaml(n, res); return res; @@ -4784,13 +4905,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandOutputBinding::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputBinding::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputBinding"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::LoadContents::toYaml(config)); { auto member = toYaml(*glob, config); member = convertListToMap(member, "", "", config); @@ -4803,9 +4925,9 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputBinding::toYaml([[maybe_unuse } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); +inline void w3id_org::cwl::cwl::CommandOutputBinding::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::LoadContents::fromYaml(n); { auto nodeAsList = convertMapToList(n["glob"], "", ""); auto expandedNode = (nodeAsList); @@ -4817,20 +4939,21 @@ inline void https___w3id_org_cwl_cwl::CommandOutputBinding::fromYaml([[maybe_unu fromYaml(expandedNode, *outputEval); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputBinding> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputBinding> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputBinding{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputBinding{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["glob"], *res.glob); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputEval"], *res.outputEval); fromYaml(n, res); return res; @@ -4839,8 +4962,9 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandLineBindable::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandLineBindable::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandLineBindable"); @@ -4852,22 +4976,23 @@ inline auto https___w3id_org_cwl_cwl::CommandLineBindable::toYaml([[maybe_unused } return n; } -inline void https___w3id_org_cwl_cwl::CommandLineBindable::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandLineBindable::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["inputBinding"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandLineBindable> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandLineBindable> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandLineBindable{}; + auto res = ::w3id_org::cwl::cwl::CommandLineBindable{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -4876,8 +5001,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandInputRecordField::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandInputRecordField::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputRecordField"); @@ -4935,8 +5061,8 @@ inline auto https___w3id_org_cwl_cwl::CommandInputRecordField::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandInputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["doc"], "", ""); auto expandedNode = (nodeAsList); @@ -4988,68 +5114,69 @@ inline void https___w3id_org_cwl_cwl::CommandInputRecordField::fromYaml([[maybe_ fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandInputRecordField> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandInputRecordField> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandInputRecordField{}; + auto res = ::w3id_org::cwl::cwl::CommandInputRecordField{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["secondaryFiles"], *res.secondaryFiles); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["streamable"], *res.streamable); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["format"], *res.format); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadContents"], *res.loadContents); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["loadListing"], *res.loadListing); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -5058,8 +5185,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandInputRecordSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputRecordSchema"); @@ -5097,8 +5225,8 @@ inline auto https___w3id_org_cwl_cwl::CommandInputRecordSchema::toYaml([[maybe_u } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandInputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["fields"], "name", "type"); auto expandedNode = (nodeAsList); @@ -5130,44 +5258,45 @@ inline void https___w3id_org_cwl_cwl::CommandInputRecordSchema::fromYaml([[maybe fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandInputRecordSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandInputRecordSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandInputRecordSchema{}; + auto res = ::w3id_org::cwl::cwl::CommandInputRecordSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["fields"], *res.fields); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -5176,8 +5305,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandInputEnumSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputEnumSchema"); @@ -5215,8 +5345,8 @@ inline auto https___w3id_org_cwl_cwl::CommandInputEnumSchema::toYaml([[maybe_unu } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandInputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["name"], "", ""); auto expandedNode = (nodeAsList); @@ -5248,44 +5378,45 @@ inline void https___w3id_org_cwl_cwl::CommandInputEnumSchema::fromYaml([[maybe_u fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandInputEnumSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandInputEnumSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandInputEnumSchema{}; + auto res = ::w3id_org::cwl::cwl::CommandInputEnumSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["symbols"], *res.symbols); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -5294,8 +5425,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandInputArraySchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputArraySchema"); @@ -5333,8 +5465,8 @@ inline auto https___w3id_org_cwl_cwl::CommandInputArraySchema::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandInputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["items"], "", ""); auto expandedNode = (nodeAsList); @@ -5366,44 +5498,45 @@ inline void https___w3id_org_cwl_cwl::CommandInputArraySchema::fromYaml([[maybe_ fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandInputArraySchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandInputArraySchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandInputArraySchema{}; + auto res = ::w3id_org::cwl::cwl::CommandInputArraySchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["items"], *res.items); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -5412,8 +5545,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputRecordField::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputRecordField"); @@ -5461,8 +5595,8 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputRecordField::toYaml([[maybe_u } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandOutputRecordField::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["doc"], "", ""); auto expandedNode = (nodeAsList); @@ -5504,56 +5638,57 @@ inline void https___w3id_org_cwl_cwl::CommandOutputRecordField::fromYaml([[maybe fromYaml(expandedNode, *outputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputRecordField> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputRecordField> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputRecordField{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputRecordField{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["secondaryFiles"], *res.secondaryFiles); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["streamable"], *res.streamable); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["format"], *res.format); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputBinding"], *res.outputBinding); fromYaml(n, res); return res; @@ -5562,8 +5697,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputRecordSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputRecordSchema"); @@ -5596,8 +5732,8 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputRecordSchema::toYaml([[maybe_ } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandOutputRecordSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["fields"], "name", "type"); auto expandedNode = (nodeAsList); @@ -5624,38 +5760,39 @@ inline void https___w3id_org_cwl_cwl::CommandOutputRecordSchema::fromYaml([[mayb fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputRecordSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputRecordSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputRecordSchema{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputRecordSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["fields"], *res.fields); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -5664,8 +5801,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputEnumSchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputEnumSchema"); @@ -5698,8 +5836,8 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputEnumSchema::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandOutputEnumSchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["name"], "", ""); auto expandedNode = (nodeAsList); @@ -5726,38 +5864,39 @@ inline void https___w3id_org_cwl_cwl::CommandOutputEnumSchema::fromYaml([[maybe_ fromYaml(expandedNode, *doc); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputEnumSchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputEnumSchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputEnumSchema{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputEnumSchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["symbols"], *res.symbols); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; @@ -5766,8 +5905,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputArraySchema::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputArraySchema"); @@ -5800,8 +5940,8 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputArraySchema::toYaml([[maybe_u } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandOutputArraySchema::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["items"], "", ""); auto expandedNode = (nodeAsList); @@ -5828,38 +5968,39 @@ inline void https___w3id_org_cwl_cwl::CommandOutputArraySchema::fromYaml([[maybe fromYaml(expandedNode, *name); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputArraySchema> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputArraySchema> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputArraySchema{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputArraySchema{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["items"], *res.items); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["name"], *res.name); fromYaml(n, res); return res; @@ -5868,13 +6009,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandInputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandInputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -5888,9 +6030,9 @@ inline auto https___w3id_org_cwl_cwl::CommandInputParameter::toYaml([[maybe_unus } return n; } -inline void https___w3id_org_cwl_cwl::CommandInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::CommandInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::InputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); @@ -5902,20 +6044,21 @@ inline void https___w3id_org_cwl_cwl::CommandInputParameter::fromYaml([[maybe_un fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandInputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandInputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandInputParameter{}; + auto res = ::w3id_org::cwl::cwl::CommandInputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -5924,13 +6067,14 @@ struct DetectAndExtractFromYaml return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::CommandOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandOutputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandOutputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -5944,9 +6088,9 @@ inline auto https___w3id_org_cwl_cwl::CommandOutputParameter::toYaml([[maybe_unu } return n; } -inline void https___w3id_org_cwl_cwl::CommandOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::CommandOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::OutputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); @@ -5958,20 +6102,21 @@ inline void https___w3id_org_cwl_cwl::CommandOutputParameter::fromYaml([[maybe_u fromYaml(expandedNode, *outputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandOutputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandOutputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandOutputParameter{}; + auto res = ::w3id_org::cwl::cwl::CommandOutputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputBinding"], *res.outputBinding); fromYaml(n, res); return res; @@ -5980,8 +6125,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::CommandLineTool::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("CommandLineTool"); @@ -6078,8 +6224,8 @@ inline auto https___w3id_org_cwl_cwl::CommandLineTool::toYaml([[maybe_unused]] s } return n; } -inline void https___w3id_org_cwl_cwl::CommandLineTool::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::CommandLineTool::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["id"], "", ""); auto expandedNode = (nodeAsList); @@ -6171,116 +6317,117 @@ inline void https___w3id_org_cwl_cwl::CommandLineTool::fromYaml([[maybe_unused]] fromYaml(expandedNode, *permanentFailCodes); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::CommandLineTool> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::CommandLineTool> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::CommandLineTool{}; + auto res = ::w3id_org::cwl::cwl::CommandLineTool{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["id"], *res.id); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputs"], *res.inputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputs"], *res.outputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["requirements"], *res.requirements); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["hints"], *res.hints); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["cwlVersion"], *res.cwlVersion); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["intent"], *res.intent); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["baseCommand"], *res.baseCommand); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["arguments"], *res.arguments); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["stdin"], *res.stdin_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["stderr"], *res.stderr_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["stdout"], *res.stdout_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["successCodes"], *res.successCodes); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["temporaryFailCodes"], *res.temporaryFailCodes); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["permanentFailCodes"], *res.permanentFailCodes); fromYaml(n, res); return res; @@ -6289,13 +6436,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::DockerRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::DockerRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("DockerRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6333,9 +6481,9 @@ inline auto https___w3id_org_cwl_cwl::DockerRequirement::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::DockerRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::DockerRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6372,50 +6520,51 @@ inline void https___w3id_org_cwl_cwl::DockerRequirement::fromYaml([[maybe_unused fromYaml(expandedNode, *dockerOutputDirectory); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::DockerRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::DockerRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::DockerRequirement{}; + auto res = ::w3id_org::cwl::cwl::DockerRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerPull"], *res.dockerPull); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerLoad"], *res.dockerLoad); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerFile"], *res.dockerFile); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerImport"], *res.dockerImport); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerImageId"], *res.dockerImageId); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["dockerOutputDirectory"], *res.dockerOutputDirectory); fromYaml(n, res); return res; @@ -6424,13 +6573,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SoftwareRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::SoftwareRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("SoftwareRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6443,9 +6593,9 @@ inline auto https___w3id_org_cwl_cwl::SoftwareRequirement::toYaml([[maybe_unused } return n; } -inline void https___w3id_org_cwl_cwl::SoftwareRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::SoftwareRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6457,20 +6607,21 @@ inline void https___w3id_org_cwl_cwl::SoftwareRequirement::fromYaml([[maybe_unus fromYaml(expandedNode, *packages); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::SoftwareRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::SoftwareRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SoftwareRequirement{}; + auto res = ::w3id_org::cwl::cwl::SoftwareRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["packages"], *res.packages); fromYaml(n, res); return res; @@ -6479,8 +6630,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SoftwarePackage::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::SoftwarePackage::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("SoftwarePackage"); @@ -6502,8 +6654,8 @@ inline auto https___w3id_org_cwl_cwl::SoftwarePackage::toYaml([[maybe_unused]] s } return n; } -inline void https___w3id_org_cwl_cwl::SoftwarePackage::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::SoftwarePackage::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["package"], "", ""); auto expandedNode = (nodeAsList); @@ -6520,26 +6672,27 @@ inline void https___w3id_org_cwl_cwl::SoftwarePackage::fromYaml([[maybe_unused]] fromYaml(expandedNode, *specs); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::SoftwarePackage> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::SoftwarePackage> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SoftwarePackage{}; + auto res = ::w3id_org::cwl::cwl::SoftwarePackage{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["package"], *res.package); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["version"], *res.version); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["specs"], *res.specs); fromYaml(n, res); return res; @@ -6548,8 +6701,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Dirent::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::Dirent::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Dirent"); @@ -6571,8 +6725,8 @@ inline auto https___w3id_org_cwl_cwl::Dirent::toYaml([[maybe_unused]] store_conf } return n; } -inline void https___w3id_org_cwl_cwl::Dirent::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Dirent::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["entryname"], "", ""); auto expandedNode = (nodeAsList); @@ -6589,26 +6743,27 @@ inline void https___w3id_org_cwl_cwl::Dirent::fromYaml([[maybe_unused]] YAML::No fromYaml(expandedNode, *writable); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::Dirent> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::Dirent> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Dirent{}; + auto res = ::w3id_org::cwl::cwl::Dirent{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["entryname"], *res.entryname); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["entry"], *res.entry); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["writable"], *res.writable); fromYaml(n, res); return res; @@ -6617,13 +6772,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InitialWorkDirRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::InitialWorkDirRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InitialWorkDirRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6636,9 +6792,9 @@ inline auto https___w3id_org_cwl_cwl::InitialWorkDirRequirement::toYaml([[maybe_ } return n; } -inline void https___w3id_org_cwl_cwl::InitialWorkDirRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::InitialWorkDirRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6650,20 +6806,21 @@ inline void https___w3id_org_cwl_cwl::InitialWorkDirRequirement::fromYaml([[mayb fromYaml(expandedNode, *listing); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InitialWorkDirRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InitialWorkDirRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InitialWorkDirRequirement{}; + auto res = ::w3id_org::cwl::cwl::InitialWorkDirRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["listing"], *res.listing); fromYaml(n, res); return res; @@ -6672,13 +6829,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::EnvVarRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("EnvVarRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6691,9 +6849,9 @@ inline auto https___w3id_org_cwl_cwl::EnvVarRequirement::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::EnvVarRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::EnvVarRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6705,20 +6863,21 @@ inline void https___w3id_org_cwl_cwl::EnvVarRequirement::fromYaml([[maybe_unused fromYaml(expandedNode, *envDef); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::EnvVarRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::EnvVarRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::EnvVarRequirement{}; + auto res = ::w3id_org::cwl::cwl::EnvVarRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["envDef"], *res.envDef); fromYaml(n, res); return res; @@ -6727,13 +6886,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::ShellCommandRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ShellCommandRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ShellCommandRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6741,23 +6901,24 @@ inline auto https___w3id_org_cwl_cwl::ShellCommandRequirement::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::ShellCommandRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::ShellCommandRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ShellCommandRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ShellCommandRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ShellCommandRequirement{}; + auto res = ::w3id_org::cwl::cwl::ShellCommandRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -6766,13 +6927,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ResourceRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ResourceRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6820,9 +6982,9 @@ inline auto https___w3id_org_cwl_cwl::ResourceRequirement::toYaml([[maybe_unused } return n; } -inline void https___w3id_org_cwl_cwl::ResourceRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::ResourceRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6869,62 +7031,63 @@ inline void https___w3id_org_cwl_cwl::ResourceRequirement::fromYaml([[maybe_unus fromYaml(expandedNode, *outdirMax); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ResourceRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ResourceRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ResourceRequirement{}; + auto res = ::w3id_org::cwl::cwl::ResourceRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["coresMin"], *res.coresMin); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["coresMax"], *res.coresMax); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["ramMin"], *res.ramMin); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["ramMax"], *res.ramMax); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["tmpdirMin"], *res.tmpdirMin); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["tmpdirMax"], *res.tmpdirMax); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outdirMin"], *res.outdirMin); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outdirMax"], *res.outdirMax); fromYaml(n, res); return res; @@ -6933,13 +7096,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkReuse::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::WorkReuse::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkReuse"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -6952,9 +7116,9 @@ inline auto https___w3id_org_cwl_cwl::WorkReuse::toYaml([[maybe_unused]] store_c } return n; } -inline void https___w3id_org_cwl_cwl::WorkReuse::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkReuse::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -6966,20 +7130,21 @@ inline void https___w3id_org_cwl_cwl::WorkReuse::fromYaml([[maybe_unused]] YAML: fromYaml(expandedNode, *enableReuse); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkReuse> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkReuse> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkReuse{}; + auto res = ::w3id_org::cwl::cwl::WorkReuse{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["enableReuse"], *res.enableReuse); fromYaml(n, res); return res; @@ -6988,13 +7153,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::NetworkAccess::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::NetworkAccess::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("NetworkAccess"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -7007,9 +7173,9 @@ inline auto https___w3id_org_cwl_cwl::NetworkAccess::toYaml([[maybe_unused]] sto } return n; } -inline void https___w3id_org_cwl_cwl::NetworkAccess::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::NetworkAccess::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -7021,20 +7187,21 @@ inline void https___w3id_org_cwl_cwl::NetworkAccess::fromYaml([[maybe_unused]] Y fromYaml(expandedNode, *networkAccess); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::NetworkAccess> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::NetworkAccess> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::NetworkAccess{}; + auto res = ::w3id_org::cwl::cwl::NetworkAccess{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["networkAccess"], *res.networkAccess); fromYaml(n, res); return res; @@ -7043,13 +7210,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::InplaceUpdateRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::InplaceUpdateRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("InplaceUpdateRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -7062,9 +7230,9 @@ inline auto https___w3id_org_cwl_cwl::InplaceUpdateRequirement::toYaml([[maybe_u } return n; } -inline void https___w3id_org_cwl_cwl::InplaceUpdateRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::InplaceUpdateRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -7076,20 +7244,21 @@ inline void https___w3id_org_cwl_cwl::InplaceUpdateRequirement::fromYaml([[maybe fromYaml(expandedNode, *inplaceUpdate); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::InplaceUpdateRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::InplaceUpdateRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::InplaceUpdateRequirement{}; + auto res = ::w3id_org::cwl::cwl::InplaceUpdateRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inplaceUpdate"], *res.inplaceUpdate); fromYaml(n, res); return res; @@ -7098,13 +7267,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ToolTimeLimit::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ToolTimeLimit"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -7117,9 +7287,9 @@ inline auto https___w3id_org_cwl_cwl::ToolTimeLimit::toYaml([[maybe_unused]] sto } return n; } -inline void https___w3id_org_cwl_cwl::ToolTimeLimit::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::ToolTimeLimit::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); @@ -7131,20 +7301,21 @@ inline void https___w3id_org_cwl_cwl::ToolTimeLimit::fromYaml([[maybe_unused]] Y fromYaml(expandedNode, *timelimit); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ToolTimeLimit> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ToolTimeLimit> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ToolTimeLimit{}; + auto res = ::w3id_org::cwl::cwl::ToolTimeLimit{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["timelimit"], *res.timelimit); fromYaml(n, res); return res; @@ -7153,13 +7324,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ExpressionToolOutputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ExpressionToolOutputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -7168,23 +7340,24 @@ inline auto https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::toYaml([[ma } return n; } -inline void https___w3id_org_cwl_cwl::ExpressionToolOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::ExpressionToolOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::OutputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ExpressionToolOutputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ExpressionToolOutputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ExpressionToolOutputParameter{}; + auto res = ::w3id_org::cwl::cwl::ExpressionToolOutputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -7193,13 +7366,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::WorkflowInputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkflowInputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -7213,9 +7387,9 @@ inline auto https___w3id_org_cwl_cwl::WorkflowInputParameter::toYaml([[maybe_unu } return n; } -inline void https___w3id_org_cwl_cwl::WorkflowInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkflowInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::InputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); @@ -7227,20 +7401,21 @@ inline void https___w3id_org_cwl_cwl::WorkflowInputParameter::fromYaml([[maybe_u fromYaml(expandedNode, *inputBinding); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkflowInputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkflowInputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowInputParameter{}; + auto res = ::w3id_org::cwl::cwl::WorkflowInputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputBinding"], *res.inputBinding); fromYaml(n, res); return res; @@ -7249,8 +7424,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ExpressionTool::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ExpressionTool"); @@ -7312,8 +7488,8 @@ inline auto https___w3id_org_cwl_cwl::ExpressionTool::toYaml([[maybe_unused]] st } return n; } -inline void https___w3id_org_cwl_cwl::ExpressionTool::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::ExpressionTool::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["id"], "", ""); auto expandedNode = (nodeAsList); @@ -7370,74 +7546,75 @@ inline void https___w3id_org_cwl_cwl::ExpressionTool::fromYaml([[maybe_unused]] fromYaml(expandedNode, *expression); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ExpressionTool> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ExpressionTool> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ExpressionTool{}; + auto res = ::w3id_org::cwl::cwl::ExpressionTool{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["id"], *res.id); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputs"], *res.inputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputs"], *res.outputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["requirements"], *res.requirements); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["hints"], *res.hints); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["cwlVersion"], *res.cwlVersion); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["intent"], *res.intent); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["expression"], *res.expression); fromYaml(n, res); return res; @@ -7446,13 +7623,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::WorkflowOutputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkflowOutputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputParameter::toYaml(config)); { auto member = toYaml(*outputSource, config); member = convertListToMap(member, "", "", config); @@ -7476,9 +7654,9 @@ inline auto https___w3id_org_cwl_cwl::WorkflowOutputParameter::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::WorkflowOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkflowOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::OutputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["outputSource"], "", ""); auto expandedNode = (nodeAsList); @@ -7500,32 +7678,33 @@ inline void https___w3id_org_cwl_cwl::WorkflowOutputParameter::fromYaml([[maybe_ fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkflowOutputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkflowOutputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowOutputParameter{}; + auto res = ::w3id_org::cwl::cwl::WorkflowOutputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputSource"], *res.outputSource); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["linkMerge"], *res.linkMerge); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["pickValue"], *res.pickValue); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -7534,9 +7713,10 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline w3id_org::cwl::cwl::Sink::~Sink() = default; +inline auto w3id_org::cwl::cwl::Sink::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Sink"); @@ -7558,8 +7738,8 @@ inline auto https___w3id_org_cwl_cwl::Sink::toYaml([[maybe_unused]] store_config } return n; } -inline void https___w3id_org_cwl_cwl::Sink::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Sink::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["source"], "", ""); auto expandedNode = (nodeAsList); @@ -7576,16 +7756,16 @@ inline void https___w3id_org_cwl_cwl::Sink::fromYaml([[maybe_unused]] YAML::Node fromYaml(expandedNode, *pickValue); } } -inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +inline auto w3id_org::cwl::cwl::WorkflowStepInput::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkflowStepInput"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Sink::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::LoadContents::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Identified::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Sink::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::LoadContents::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Labeled::toYaml(config)); { auto member = toYaml(*default_, config); member = convertListToMap(member, "", "", config); @@ -7598,12 +7778,12 @@ inline auto https___w3id_org_cwl_cwl::WorkflowStepInput::toYaml([[maybe_unused]] } return n; } -inline void https___w3id_org_cwl_cwl::WorkflowStepInput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); - https___w3id_org_cwl_cwl::Sink::fromYaml(n); - https___w3id_org_cwl_cwl::LoadContents::fromYaml(n); - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkflowStepInput::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Identified::fromYaml(n); + w3id_org::cwl::cwl::Sink::fromYaml(n); + w3id_org::cwl::cwl::LoadContents::fromYaml(n); + w3id_org::cwl::cwl::Labeled::fromYaml(n); { auto nodeAsList = convertMapToList(n["default"], "", ""); auto expandedNode = (nodeAsList); @@ -7615,20 +7795,21 @@ inline void https___w3id_org_cwl_cwl::WorkflowStepInput::fromYaml([[maybe_unused fromYaml(expandedNode, *valueFrom); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkflowStepInput> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkflowStepInput> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStepInput{}; + auto res = ::w3id_org::cwl::cwl::WorkflowStepInput{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["default"], *res.default_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["valueFrom"], *res.valueFrom); fromYaml(n, res); return res; @@ -7637,38 +7818,41 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowStepOutput::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::WorkflowStepOutput::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkflowStepOutput"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Identified::toYaml(config)); return n; } -inline void https___w3id_org_cwl_cwl::WorkflowStepOutput::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkflowStepOutput::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Identified::fromYaml(n); } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkflowStepOutput> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkflowStepOutput> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStepOutput{}; + auto res = ::w3id_org::cwl::cwl::WorkflowStepOutput{}; return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::WorkflowStep::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("WorkflowStep"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::Identified::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_cwl::Labeled::toYaml(config)); - n = mergeYaml(n, https___w3id_org_cwl_salad::Documented::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Identified::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::Labeled::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::salad::Documented::toYaml(config)); { auto member = toYaml(*in, config); member = convertListToMap(member, "id", "source", config); @@ -7711,11 +7895,11 @@ inline auto https___w3id_org_cwl_cwl::WorkflowStep::toYaml([[maybe_unused]] stor } return n; } -inline void https___w3id_org_cwl_cwl::WorkflowStep::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::Identified::fromYaml(n); - https___w3id_org_cwl_cwl::Labeled::fromYaml(n); - https___w3id_org_cwl_salad::Documented::fromYaml(n); +inline void w3id_org::cwl::cwl::WorkflowStep::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::Identified::fromYaml(n); + w3id_org::cwl::cwl::Labeled::fromYaml(n); + w3id_org::cwl::salad::Documented::fromYaml(n); { auto nodeAsList = convertMapToList(n["in"], "id", "source"); auto expandedNode = (nodeAsList); @@ -7757,56 +7941,57 @@ inline void https___w3id_org_cwl_cwl::WorkflowStep::fromYaml([[maybe_unused]] YA fromYaml(expandedNode, *scatterMethod); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::WorkflowStep> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::WorkflowStep> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::WorkflowStep{}; + auto res = ::w3id_org::cwl::cwl::WorkflowStep{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["in"], *res.in); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["out"], *res.out); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["requirements"], *res.requirements); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["hints"], *res.hints); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["run"], *res.run); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["when"], *res.when); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["scatter"], *res.scatter); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["scatterMethod"], *res.scatterMethod); fromYaml(n, res); return res; @@ -7815,8 +8000,9 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::Workflow::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::Workflow::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Workflow"); @@ -7878,8 +8064,8 @@ inline auto https___w3id_org_cwl_cwl::Workflow::toYaml([[maybe_unused]] store_co } return n; } -inline void https___w3id_org_cwl_cwl::Workflow::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Workflow::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["id"], "", ""); auto expandedNode = (nodeAsList); @@ -7936,74 +8122,75 @@ inline void https___w3id_org_cwl_cwl::Workflow::fromYaml([[maybe_unused]] YAML:: fromYaml(expandedNode, *steps); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::Workflow> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::Workflow> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Workflow{}; + auto res = ::w3id_org::cwl::cwl::Workflow{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["id"], *res.id); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputs"], *res.inputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputs"], *res.outputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["requirements"], *res.requirements); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["hints"], *res.hints); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["cwlVersion"], *res.cwlVersion); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["intent"], *res.intent); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["steps"], *res.steps); fromYaml(n, res); return res; @@ -8012,13 +8199,14 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; -inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml([[maybe_unused]] store_config const& config) const -> YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::SubworkflowFeatureRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("SubworkflowFeatureRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -8026,23 +8214,24 @@ inline auto https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::toYaml([[ma } return n; } -inline void https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::SubworkflowFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::SubworkflowFeatureRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::SubworkflowFeatureRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::SubworkflowFeatureRequirement{}; + auto res = ::w3id_org::cwl::cwl::SubworkflowFeatureRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -8051,13 +8240,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::ScatterFeatureRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("ScatterFeatureRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -8065,23 +8255,24 @@ inline auto https___w3id_org_cwl_cwl::ScatterFeatureRequirement::toYaml([[maybe_ } return n; } -inline void https___w3id_org_cwl_cwl::ScatterFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::ScatterFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::ScatterFeatureRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::ScatterFeatureRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::ScatterFeatureRequirement{}; + auto res = ::w3id_org::cwl::cwl::ScatterFeatureRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -8090,13 +8281,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::MultipleInputFeatureRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("MultipleInputFeatureRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -8104,23 +8296,24 @@ inline auto https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::toYaml([[ } return n; } -inline void https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::MultipleInputFeatureRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::MultipleInputFeatureRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::MultipleInputFeatureRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::MultipleInputFeatureRequirement{}; + auto res = ::w3id_org::cwl::cwl::MultipleInputFeatureRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -8129,13 +8322,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::StepInputExpressionRequirement::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("StepInputExpressionRequirement"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::ProcessRequirement::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::ProcessRequirement::toYaml(config)); { auto member = toYaml(*class_, config); member = convertListToMap(member, "", "", config); @@ -8143,23 +8337,24 @@ inline auto https___w3id_org_cwl_cwl::StepInputExpressionRequirement::toYaml([[m } return n; } -inline void https___w3id_org_cwl_cwl::StepInputExpressionRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::ProcessRequirement::fromYaml(n); +inline void w3id_org::cwl::cwl::StepInputExpressionRequirement::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::ProcessRequirement::fromYaml(n); { auto nodeAsList = convertMapToList(n["class"], "", ""); auto expandedNode = (nodeAsList); fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::StepInputExpressionRequirement> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::StepInputExpressionRequirement> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::StepInputExpressionRequirement{}; + auto res = ::w3id_org::cwl::cwl::StepInputExpressionRequirement{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -8168,13 +8363,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OperationInputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OperationInputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::InputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::InputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -8183,23 +8379,24 @@ inline auto https___w3id_org_cwl_cwl::OperationInputParameter::toYaml([[maybe_un } return n; } -inline void https___w3id_org_cwl_cwl::OperationInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::InputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::OperationInputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::InputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OperationInputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OperationInputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OperationInputParameter{}; + auto res = ::w3id_org::cwl::cwl::OperationInputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -8208,13 +8405,14 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::OperationOutputParameter::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("OperationOutputParameter"); } - n = mergeYaml(n, https___w3id_org_cwl_cwl::OutputParameter::toYaml(config)); + n = mergeYaml(n, w3id_org::cwl::cwl::OutputParameter::toYaml(config)); { auto member = toYaml(*type, config); member = simplifyType(member, config); @@ -8223,23 +8421,24 @@ inline auto https___w3id_org_cwl_cwl::OperationOutputParameter::toYaml([[maybe_u } return n; } -inline void https___w3id_org_cwl_cwl::OperationOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; - https___w3id_org_cwl_cwl::OutputParameter::fromYaml(n); +inline void w3id_org::cwl::cwl::OperationOutputParameter::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; + w3id_org::cwl::cwl::OutputParameter::fromYaml(n); { auto nodeAsList = convertMapToList(n["type"], "", ""); auto expandedNode = expandType(nodeAsList); fromYaml(expandedNode, *type); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::OperationOutputParameter> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::OperationOutputParameter> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::OperationOutputParameter{}; + auto res = ::w3id_org::cwl::cwl::OperationOutputParameter{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["type"], *res.type); fromYaml(n, res); return res; @@ -8248,8 +8447,9 @@ struct DetectAndExtractFromYaml YAML::Node { - using ::cpp_gen::toYaml; +} +inline auto w3id_org::cwl::cwl::Operation::toYaml([[maybe_unused]] ::w3id_org::cwl::store_config const& config) const -> YAML::Node { + using ::w3id_org::cwl::toYaml; auto n = YAML::Node{}; if (config.generateTags) { n.SetTag("Operation"); @@ -8306,8 +8506,8 @@ inline auto https___w3id_org_cwl_cwl::Operation::toYaml([[maybe_unused]] store_c } return n; } -inline void https___w3id_org_cwl_cwl::Operation::fromYaml([[maybe_unused]] YAML::Node const& n) { - using ::cpp_gen::fromYaml; +inline void w3id_org::cwl::cwl::Operation::fromYaml([[maybe_unused]] YAML::Node const& n) { + using ::w3id_org::cwl::fromYaml; { auto nodeAsList = convertMapToList(n["id"], "", ""); auto expandedNode = (nodeAsList); @@ -8359,68 +8559,69 @@ inline void https___w3id_org_cwl_cwl::Operation::fromYaml([[maybe_unused]] YAML: fromYaml(expandedNode, *class_); } } +namespace w3id_org::cwl { template <> -struct DetectAndExtractFromYaml { - auto operator()(YAML::Node const& n) const -> std::optional { +struct DetectAndExtractFromYaml<::w3id_org::cwl::cwl::Operation> { + auto operator()(YAML::Node const& n) const -> std::optional<::w3id_org::cwl::cwl::Operation> { if (!n.IsDefined()) return std::nullopt; if (!n.IsMap()) return std::nullopt; - auto res = https___w3id_org_cwl_cwl::Operation{}; + auto res = ::w3id_org::cwl::cwl::Operation{}; - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["id"], *res.id); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["label"], *res.label); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["doc"], *res.doc); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["inputs"], *res.inputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["outputs"], *res.outputs); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["requirements"], *res.requirements); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["hints"], *res.hints); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["cwlVersion"], *res.cwlVersion); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["intent"], *res.intent); fromYaml(n, res); return res; } catch(...) {} - if constexpr (IsConstant::value) try { + if constexpr (::w3id_org::cwl::IsConstant::value) try { fromYaml(n["class"], *res.class_); fromYaml(n, res); return res; @@ -8429,6 +8630,8 @@ struct DetectAndExtractFromYaml { return std::nullopt; } }; +} +namespace w3id_org::cwl { template auto toYaml(std::vector const& v, [[maybe_unused]] store_config const& config) -> YAML::Node { @@ -8522,7 +8725,7 @@ void fromYaml(YAML::Node const& n, std::variant& v){ bool found = detectAndExtractFromYaml, Args...>(n, v); if (!found) throw std::runtime_error{"didn't find any overload"}; } -using DocumentRootType = std::variant; +using DocumentRootType = std::variant; auto load_document_from_yaml(YAML::Node n) -> DocumentRootType { DocumentRootType root; fromYaml(n, root); @@ -8532,7 +8735,7 @@ auto load_document_from_string(std::string document) -> DocumentRootType { return load_document_from_yaml(YAML::Load(document)); } auto load_document(std::filesystem::path path) -> DocumentRootType { - return load_document_from_yaml(YAML::LoadFile(path)); + return load_document_from_yaml(YAML::LoadFile(path.string())); } void store_document(DocumentRootType const& root, std::ostream& ostream, store_config config={}) { auto y = toYaml(root, config);