From a455ca068bab0699752e3ac00c630c0ec2f86bdc Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 14 Jan 2026 14:37:44 -0500 Subject: [PATCH] xo-object2 xo-gc xo-facet: codegen updates + IGCObject_DString --- idl/GCObject.json5 | 10 ++++++++++ include/xo/gc/GCObject.hpp | 2 +- include/xo/gc/detail/AGCObject.hpp | 8 +++++++- include/xo/gc/detail/IGCObject_Any.hpp | 4 +++- include/xo/gc/detail/IGCObject_Xfer.hpp | 4 +++- include/xo/gc/detail/RGCObject.hpp | 4 +++- 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/idl/GCObject.json5 b/idl/GCObject.json5 index d35916b..ef00b5d 100644 --- a/idl/GCObject.json5 +++ b/idl/GCObject.json5 @@ -25,6 +25,16 @@ doc: ["type for an amount of memory"], definition: "std::size_t", }, + { + name: "AAllocator", + doc: ["fomo allocator type"], + definition: "xo::mm::AAllocator", + }, + { + name: "ACollector", + doc: ["fomo collector type"], + definition: "xo::mm::ACollector", + }, ], const_methods: [ // size_type shallow_size() const noexcept diff --git a/include/xo/gc/GCObject.hpp b/include/xo/gc/GCObject.hpp index ebb6d26..2583481 100644 --- a/include/xo/gc/GCObject.hpp +++ b/include/xo/gc/GCObject.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/GCObject.json5] * 2. jinja2 template for facet .hpp file: diff --git a/include/xo/gc/detail/AGCObject.hpp b/include/xo/gc/detail/AGCObject.hpp index 5210dc9..b7a5ffa 100644 --- a/include/xo/gc/detail/AGCObject.hpp +++ b/include/xo/gc/detail/AGCObject.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/GCObject.json5] * 2. jinja2 template for abstract facet .hpp file: @@ -40,8 +40,14 @@ public: // types /** integer identifying a type **/ using typeseq = xo::facet::typeseq; + using Copaque = const void *; + using Opaque = void *; /** type for an amount of memory **/ using size_type = std::size_t; + /** fomo allocator type **/ + using AAllocator = xo::mm::AAllocator; + /** fomo collector type **/ + using ACollector = xo::mm::ACollector; ///@} /** @defgroup mm-gcobject-methods **/ diff --git a/include/xo/gc/detail/IGCObject_Any.hpp b/include/xo/gc/detail/IGCObject_Any.hpp index 9f08666..c930693 100644 --- a/include/xo/gc/detail/IGCObject_Any.hpp +++ b/include/xo/gc/detail/IGCObject_Any.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/GCObject.json5] * 2. jinja2 template for abstract facet .hpp file: @@ -45,6 +45,8 @@ namespace mm { /** integer identifying a type **/ using typeseq = xo::facet::typeseq; using size_type = AGCObject::size_type; + using AAllocator = AGCObject::AAllocator; + using ACollector = AGCObject::ACollector; ///@} /** @defgroup mm-gcobject-any-methods **/ diff --git a/include/xo/gc/detail/IGCObject_Xfer.hpp b/include/xo/gc/detail/IGCObject_Xfer.hpp index 2ece6b0..655263b 100644 --- a/include/xo/gc/detail/IGCObject_Xfer.hpp +++ b/include/xo/gc/detail/IGCObject_Xfer.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/GCObject.json5] * 2. jinja2 template for abstract facet .hpp file: @@ -32,6 +32,8 @@ namespace mm { /** integer identifying a type **/ using typeseq = AGCObject::typeseq; using size_type = AGCObject::size_type; + using AAllocator = AGCObject::AAllocator; + using ACollector = AGCObject::ACollector; ///@} /** @defgroup mm-gcobject-xfer-methods **/ diff --git a/include/xo/gc/detail/RGCObject.hpp b/include/xo/gc/detail/RGCObject.hpp index ace699c..e54a253 100644 --- a/include/xo/gc/detail/RGCObject.hpp +++ b/include/xo/gc/detail/RGCObject.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/GCObject.json5] * 2. jinja2 template for abstract facet .hpp file: @@ -32,6 +32,8 @@ public: using DataPtr = Object::DataPtr; using typeseq = xo::reflect::typeseq; using size_type = AGCObject::size_type; + using AAllocator = AGCObject::AAllocator; + using ACollector = AGCObject::ACollector; ///@} /** @defgroup mm-gcobject-router-ctors **/