diff --git a/xo-stringtable2/include/xo/stringtable2/SetupStringtable2.hpp b/xo-stringtable2/include/xo/stringtable2/SetupStringtable2.hpp new file mode 100644 index 00000000..b310bb86 --- /dev/null +++ b/xo-stringtable2/include/xo/stringtable2/SetupStringtable2.hpp @@ -0,0 +1,25 @@ +/** @file SetupStringtable2.hpp + * + * @author Roland Conybeare, Mar 2026 + **/ + +#pragma once + +#include + +namespace xo { + namespace scm { + struct SetupStringtable2 { + public: + using ACollector = xo::mm::ACollector; + + public: + /** Register object2 (facet,impl) combinations with FacetRegistry **/ + static bool register_facets(); + /** Register types with garbage collector **/ + static bool register_types(obj gc); + }; + } +} + +/* end SetupStringtable2.hpp */ diff --git a/xo-stringtable2/include/xo/stringtable2/stringtable2_register_facets.hpp b/xo-stringtable2/include/xo/stringtable2/stringtable2_register_facets.hpp index 36f66106..73b40baa 100644 --- a/xo-stringtable2/include/xo/stringtable2/stringtable2_register_facets.hpp +++ b/xo-stringtable2/include/xo/stringtable2/stringtable2_register_facets.hpp @@ -7,8 +7,6 @@ namespace xo { namespace scm { - /** Register object2 (facet,impl) combinations with FacetRegistry **/ - bool stringtable2_register_facets(); } } diff --git a/xo-stringtable2/include/xo/stringtable2/stringtable2_register_types.hpp b/xo-stringtable2/include/xo/stringtable2/stringtable2_register_types.hpp index 724d2478..bfebba84 100644 --- a/xo-stringtable2/include/xo/stringtable2/stringtable2_register_types.hpp +++ b/xo-stringtable2/include/xo/stringtable2/stringtable2_register_types.hpp @@ -9,8 +9,6 @@ namespace xo { namespace scm { - /** Register stringtable2 (facet,impl) combinations with FacetRegistry **/ - bool stringtable2_register_types(obj gc); } } diff --git a/xo-stringtable2/src/stringtable2/CMakeLists.txt b/xo-stringtable2/src/stringtable2/CMakeLists.txt index cdf1f223..45048743 100644 --- a/xo-stringtable2/src/stringtable2/CMakeLists.txt +++ b/xo-stringtable2/src/stringtable2/CMakeLists.txt @@ -3,7 +3,8 @@ set(SELF_LIB xo_stringtable2) set(SELF_SRCS init_stringtable2.cpp - stringtable2_register_facets.cpp + SetupStringtable2.cpp + #stringtable2_register_facets.cpp stringtable2_register_types.cpp StringTable.cpp diff --git a/xo-stringtable2/src/stringtable2/SetupStringtable2.cpp b/xo-stringtable2/src/stringtable2/SetupStringtable2.cpp new file mode 100644 index 00000000..2c43a16e --- /dev/null +++ b/xo-stringtable2/src/stringtable2/SetupStringtable2.cpp @@ -0,0 +1,55 @@ +/** @file SetupStringtable2.cpp + * + * @author Roland Conybeare, Mar 2026 + **/ + +#include "SetupStringtable2.hpp" + +#include +#include + +#include +#include + +namespace xo { + using xo::print::APrintable; + using xo::mm::ACollector; + using xo::mm::AGCObject; + using xo::scm::DString; + using xo::facet::FacetRegistry; + using xo::facet::typeseq; + using xo::facet::impl_for; + + namespace scm { + bool + SetupStringtable2::register_facets() + { + scope log(XO_DEBUG(true)); + + FacetRegistry::register_impl(); + FacetRegistry::register_impl(); + + FacetRegistry::register_impl(); + FacetRegistry::register_impl(); + + log && log(xtag("DString.tseq", typeseq::id())); + + return true; + } + + bool + SetupStringtable2::register_types(obj gc) + { + scope log(XO_DEBUG(true)); + + bool ok = true; + + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + + return ok; + } + } /*namespace scm*/ +} /*namespace xo*/ + +/* end SetupStringtable2.cpp */ diff --git a/xo-stringtable2/src/stringtable2/init_stringtable2.cpp b/xo-stringtable2/src/stringtable2/init_stringtable2.cpp index 26d84abe..2b09c587 100644 --- a/xo-stringtable2/src/stringtable2/init_stringtable2.cpp +++ b/xo-stringtable2/src/stringtable2/init_stringtable2.cpp @@ -4,24 +4,21 @@ **/ #include "init_stringtable2.hpp" -#include "stringtable2_register_facets.hpp" -#include "stringtable2_register_types.hpp" +#include "SetupStringtable2.hpp" #include -//n#include #include #include namespace xo { - using xo::scm::stringtable2_register_facets; - using xo::scm::stringtable2_register_types; + using xo::scm::SetupStringtable2; using xo::mm::CollectorTypeRegistry; void InitSubsys::init() { - stringtable2_register_facets(); + SetupStringtable2::register_facets(); - CollectorTypeRegistry::instance().register_types(&stringtable2_register_types); + CollectorTypeRegistry::instance().register_types(&SetupStringtable2::register_types); } InitEvidence diff --git a/xo-stringtable2/src/stringtable2/stringtable2_register_facets.cpp b/xo-stringtable2/src/stringtable2/stringtable2_register_facets.cpp index e6a97dff..b2d59cef 100644 --- a/xo-stringtable2/src/stringtable2/stringtable2_register_facets.cpp +++ b/xo-stringtable2/src/stringtable2/stringtable2_register_facets.cpp @@ -3,6 +3,7 @@ * @author Roland Conybeare, Mar 2026 **/ +#ifdef NOPE #include "stringtable2_register_facets.hpp" #include @@ -36,5 +37,6 @@ namespace xo { } } /*namespace scm*/ } /*namespace xo*/ +#endif /* end stringtable2_register_facets.cpp */ diff --git a/xo-stringtable2/src/stringtable2/stringtable2_register_types.cpp b/xo-stringtable2/src/stringtable2/stringtable2_register_types.cpp index 94afd40e..6eb9502d 100644 --- a/xo-stringtable2/src/stringtable2/stringtable2_register_types.cpp +++ b/xo-stringtable2/src/stringtable2/stringtable2_register_types.cpp @@ -17,18 +17,6 @@ namespace xo { using xo::scope; namespace scm { - bool - stringtable2_register_types(obj gc) - { - scope log(XO_DEBUG(true)); - - bool ok = true; - - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - - return ok; - } } } /*namespace xo*/