From 287384e37ac9283ff6b006b196e2ca4b429c6fe1 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Thu, 15 Jan 2026 01:02:50 -0500 Subject: [PATCH] xo-object2: tidy IPrintable_DInteger + codegen --- CMakeLists.txt | 12 ++++++++++++ idl/IPrintable_DInteger.json5 | 13 +++++++++++++ .../xo/object2/{ => number}/IPrintable_DInteger.hpp | 12 +++++++++--- src/object2/IPrintable_DInteger.cpp | 6 +++--- src/object2/object2_register_facets.cpp | 2 +- src/object2/object2_register_types.cpp | 2 +- 6 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 idl/IPrintable_DInteger.json5 rename include/xo/object2/{ => number}/IPrintable_DInteger.hpp (79%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a07933a..961c965 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,18 @@ xo_add_genfacetimpl( OUTPUT_CPP_DIR src/object2 ) +# note: manual target; generated code committed to git +xo_add_genfacetimpl( + TARGET xo-object2-facetimpl-printable-integer + FACET_PKG xo_printable2 + FACET Printable + REPR Integer + INPUT idl/IPrintable_DInteger.json5 + OUTPUT_HPP_DIR include/xo/object2 + OUTPUT_IMPL_SUBDIR number + OUTPUT_CPP_DIR src/object2 +) + # note: manual target; generated code committed to git xo_add_genfacetimpl( TARGET xo-object2-facetimpl-gcobject-integer diff --git a/idl/IPrintable_DInteger.json5 b/idl/IPrintable_DInteger.json5 new file mode 100644 index 0000000..1a2e549 --- /dev/null +++ b/idl/IPrintable_DInteger.json5 @@ -0,0 +1,13 @@ +{ + mode: "implementation", + includes: [ "", + "" ], + local_types: [ ], + namespace1: "xo", + namespace2: "scm", + facet_idl: "idl/Printable.json5", + brief: "provide APrintable interface for DInteger", + using_doxygen: true, + repr: "DInteger", + doc: [ "implement APrintable for DInteger" ], +} diff --git a/include/xo/object2/IPrintable_DInteger.hpp b/include/xo/object2/number/IPrintable_DInteger.hpp similarity index 79% rename from include/xo/object2/IPrintable_DInteger.hpp rename to include/xo/object2/number/IPrintable_DInteger.hpp index 60c9821..95a9e10 100644 --- a/include/xo/object2/IPrintable_DInteger.hpp +++ b/include/xo/object2/number/IPrintable_DInteger.hpp @@ -2,18 +2,20 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/home/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: - * [iface_facet_any.hpp.j2] + * [iface_facet_repr.hpp.j2] * 3. idl for facet methods * [idl/IPrintable_DInteger.json5] **/ #pragma once +#include "Printable.hpp" #include +#include #include "DInteger.hpp" namespace xo { namespace scm { class IPrintable_DInteger; } } @@ -40,17 +42,21 @@ namespace xo { /** @defgroup scm-printable-dinteger-type-traits **/ ///@{ using ppindentinfo = xo::print::APrintable::ppindentinfo; + using Copaque = xo::print::APrintable::Copaque; + using Opaque = xo::print::APrintable::Opaque; ///@} /** @defgroup scm-printable-dinteger-methods **/ ///@{ + // const methods /** Pretty-printing support for this object. See [xo-indentlog/xo/indentlog/pretty.hpp] **/ static bool pretty(const DInteger & self, const ppindentinfo & ppii); + // non-const methods ///@} }; } /*namespace scm*/ } /*namespace xo*/ -/* end */ +/* end */ \ No newline at end of file diff --git a/src/object2/IPrintable_DInteger.cpp b/src/object2/IPrintable_DInteger.cpp index 8e9bc77..889cfa8 100644 --- a/src/object2/IPrintable_DInteger.cpp +++ b/src/object2/IPrintable_DInteger.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/home/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: @@ -11,7 +11,7 @@ * [idl/IPrintable_DInteger.json5] **/ -#include "IPrintable_DInteger.hpp" +#include "number/IPrintable_DInteger.hpp" namespace xo { namespace scm { @@ -25,4 +25,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end IPrintable_DInteger.cpp */ +/* end IPrintable_DInteger.cpp */ \ No newline at end of file diff --git a/src/object2/object2_register_facets.cpp b/src/object2/object2_register_facets.cpp index 0ea0db5..8dcb2c1 100644 --- a/src/object2/object2_register_facets.cpp +++ b/src/object2/object2_register_facets.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include diff --git a/src/object2/object2_register_types.cpp b/src/object2/object2_register_types.cpp index 2c9de20..e9695a3 100644 --- a/src/object2/object2_register_types.cpp +++ b/src/object2/object2_register_types.cpp @@ -12,7 +12,7 @@ #include "list/IPrintable_DList.hpp" //#include "IPrintable_DFloat.hpp" -#include "IPrintable_DInteger.hpp" +#include "number/IPrintable_DInteger.hpp" #include #include