From cabfe39e04e2d3afc5ccfaf7340fb74e12350985 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 16 Mar 2026 19:21:09 -0500 Subject: [PATCH] xo-reader2: streamline setup --- .../include/xo/reader2/SetupReader2.hpp | 25 +++++++++++++++ .../xo/reader2/reader2_register_facets.hpp | 15 --------- .../xo/reader2/reader2_register_types.hpp | 17 ---------- xo-reader2/src/reader2/CMakeLists.txt | 3 +- ...2_register_facets.cpp => SetupReader2.cpp} | 22 ++++++++++--- xo-reader2/src/reader2/init_reader2.cpp | 10 +++--- .../src/reader2/reader2_register_types.cpp | 32 ------------------- 7 files changed, 48 insertions(+), 76 deletions(-) create mode 100644 xo-reader2/include/xo/reader2/SetupReader2.hpp delete mode 100644 xo-reader2/include/xo/reader2/reader2_register_facets.hpp delete mode 100644 xo-reader2/include/xo/reader2/reader2_register_types.hpp rename xo-reader2/src/reader2/{reader2_register_facets.cpp => SetupReader2.cpp} (93%) delete mode 100644 xo-reader2/src/reader2/reader2_register_types.cpp diff --git a/xo-reader2/include/xo/reader2/SetupReader2.hpp b/xo-reader2/include/xo/reader2/SetupReader2.hpp new file mode 100644 index 00000000..574bc296 --- /dev/null +++ b/xo-reader2/include/xo/reader2/SetupReader2.hpp @@ -0,0 +1,25 @@ +/** @file SetupReader2.hpp + * + * @author Roland Conybeare, Jan 2026 + **/ + +#pragma once + +#include + +namespace xo { + namespace scm { + struct SetupReader2 { + public: + using ACollector = xo::mm::ACollector; + + public: + /** Register reader2 (facet,impl) combinations with FacetRegistry **/ + static bool register_facets(); + /** Register object types with @p gc **/ + static bool register_types(obj gc); + }; + } +} + +/* end SetupReader2.hpp */ diff --git a/xo-reader2/include/xo/reader2/reader2_register_facets.hpp b/xo-reader2/include/xo/reader2/reader2_register_facets.hpp deleted file mode 100644 index 6e606e40..00000000 --- a/xo-reader2/include/xo/reader2/reader2_register_facets.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/** @file reader2_register_facets.hpp - * - * @author Roland Conybeare, Jan 2026 - **/ - -#pragma once - -namespace xo { - namespace scm { - /** Register reader2 (facet,impl) combinations with FacetRegistry **/ - bool reader2_register_facets(); - } -} - -/* end reader2_register_facets.hpp */ diff --git a/xo-reader2/include/xo/reader2/reader2_register_types.hpp b/xo-reader2/include/xo/reader2/reader2_register_types.hpp deleted file mode 100644 index 1d8fea34..00000000 --- a/xo-reader2/include/xo/reader2/reader2_register_types.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/** @file reader2_register_types.hpp - * - * @author Roland Conybeare, Jan 2026 - **/ - -#pragma once - -#include - -namespace xo { - namespace scm { - /** Register reader2 gc-aware types with collector **/ - bool reader2_register_types(obj gc); - } -} - -/* end reader2_register_types.hpp */ diff --git a/xo-reader2/src/reader2/CMakeLists.txt b/xo-reader2/src/reader2/CMakeLists.txt index bb49efb8..3cbe3984 100644 --- a/xo-reader2/src/reader2/CMakeLists.txt +++ b/xo-reader2/src/reader2/CMakeLists.txt @@ -3,8 +3,7 @@ set(SELF_LIB xo_reader2) set(SELF_SRCS init_reader2.cpp - reader2_register_facets.cpp - reader2_register_types.cpp + SetupReader2.cpp SchematikaReader.cpp ReaderConfig.cpp diff --git a/xo-reader2/src/reader2/reader2_register_facets.cpp b/xo-reader2/src/reader2/SetupReader2.cpp similarity index 93% rename from xo-reader2/src/reader2/reader2_register_facets.cpp rename to xo-reader2/src/reader2/SetupReader2.cpp index ccabe3a9..eef64bab 100644 --- a/xo-reader2/src/reader2/reader2_register_facets.cpp +++ b/xo-reader2/src/reader2/SetupReader2.cpp @@ -1,9 +1,9 @@ -/** @file reader2_register_facets.cpp +/** @file SetupReader2.cpp * * @author Roland Conybeare, Jan 2026 **/ -#include "reader2_register_facets.hpp" +#include "SetupReader2.hpp" #include "SchematikaParser.hpp" #include "ToplevelSeqSsm.hpp" @@ -33,14 +33,16 @@ namespace xo { using xo::print::APrintable; + using xo::mm::ACollector; using xo::mm::AGCObject; using xo::facet::FacetRegistry; using xo::facet::TypeRegistry; using xo::facet::typeseq; + using xo::facet::impl_for; namespace scm { bool - reader2_register_facets() + SetupReader2::register_facets() { scope log(XO_DEBUG(true)); @@ -135,7 +137,19 @@ namespace xo { return true; } + + bool + SetupReader2::register_types(obj gc) + { + scope log(XO_DEBUG(true)); + + bool ok = true; + + ok &= gc.install_type(impl_for()); + + return ok; + } } /*namespace scm*/ } /*namespace xo*/ -/* end reader2_register_facets.cpp */ +/* end SetupReader2.cpp */ diff --git a/xo-reader2/src/reader2/init_reader2.cpp b/xo-reader2/src/reader2/init_reader2.cpp index df0de7c0..46b4de00 100644 --- a/xo-reader2/src/reader2/init_reader2.cpp +++ b/xo-reader2/src/reader2/init_reader2.cpp @@ -4,24 +4,22 @@ **/ #include "init_reader2.hpp" -#include "reader2_register_facets.hpp" -#include "reader2_register_types.hpp" +#include "SetupReader2.hpp" #include #include #include namespace xo { - using xo::scm::reader2_register_facets; - using xo::scm::reader2_register_types; + using xo::scm::SetupReader2; using xo::mm::CollectorTypeRegistry; void InitSubsys::init() { - reader2_register_facets(); + SetupReader2::register_facets(); - CollectorTypeRegistry::instance().register_types(&reader2_register_types); + CollectorTypeRegistry::instance().register_types(&SetupReader2::register_types); } InitEvidence diff --git a/xo-reader2/src/reader2/reader2_register_types.cpp b/xo-reader2/src/reader2/reader2_register_types.cpp deleted file mode 100644 index 3d6a0fe0..00000000 --- a/xo-reader2/src/reader2/reader2_register_types.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/** @file reader2_register_types.cpp - * - * @author Roland Conybeare, Jan 2026 - **/ - -#include "reader2_register_types.hpp" -#include "GlobalEnv.hpp" - -#include - -namespace xo { - using xo::mm::ACollector; - using xo::mm::AGCObject; - using xo::facet::impl_for; - using xo::scope; - - namespace scm { - bool - reader2_register_types(obj gc) - { - scope log(XO_DEBUG(true)); - - bool ok = true; - - ok &= gc.install_type(impl_for()); - - return ok; - } - } -} /*namespace xo*/ - -/* end reader2_register_types.cpp */