diff --git a/default.nix b/default.nix index edb3e95c..481dd59a 100644 --- a/default.nix +++ b/default.nix @@ -217,6 +217,8 @@ let # note: pybind11 won't build on roly-chicago-24a in nix sandbox, runs out of pty devices # pkgs.python3Packages.pybind11 + pkgs.python3Packages.json5 + pkgs.python3Packages.jinja2 pkgs.llvmPackages_18.llvm.dev pkgs.replxx pkgs.libwebsockets diff --git a/xo-alloc2/docs/DArenaIterator-reference.rst b/xo-alloc2/docs/DArenaIterator-reference.rst index 4ef4c196..c70bd642 100644 --- a/xo-alloc2/docs/DArenaIterator-reference.rst +++ b/xo-alloc2/docs/DArenaIterator-reference.rst @@ -3,7 +3,7 @@ DArenaIterator ============== -Iterator for allocs obtained from a :cpp:class:`DArena`. +Iterator for allocs obtained from a :cpp:class:`xo::mm::DArena`. Context ------- diff --git a/xo-alloc2/docs/IAllocator_Xfer-reference.rst b/xo-alloc2/docs/IAllocator_Xfer-reference.rst index 9ca90565..e57544b2 100644 --- a/xo-alloc2/docs/IAllocator_Xfer-reference.rst +++ b/xo-alloc2/docs/IAllocator_Xfer-reference.rst @@ -6,6 +6,9 @@ IAllocator_Xfer IAllocator_Xfer provides a type-erased interface to a specific native allocator implementation. +It supports runtime polymorphism for the cpp:class:`xo::mm::AAllocator` facet. +Application code iis unlikely to directly interact with this class + Context ------- diff --git a/xo-alloc2/src/alloc2/ArenaConfig.cpp b/xo-alloc2/src/alloc2/ArenaConfig.cpp index 942a7e91..7f4e4248 100644 --- a/xo-alloc2/src/alloc2/ArenaConfig.cpp +++ b/xo-alloc2/src/alloc2/ArenaConfig.cpp @@ -9,7 +9,7 @@ namespace xo { ArenaConfig ArenaConfig::simple(std::size_t z) { - return ArenaConfig { .size_ = z }; + return ArenaConfig { .name_ = "anonymous", .size_ = z }; } } } diff --git a/xo-gc/include/xo/gc/AGCObject.hpp b/xo-gc/include/xo/gc/AGCObject.hpp deleted file mode 100644 index 1e0a6d45..00000000 --- a/xo-gc/include/xo/gc/AGCObject.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/** @file AGCObject.hpp - * - * @author Roland Conybeare, Dec 2025 - **/ - -#pragma once - -#include "Allocator.hpp" -#include "xo/facet/facet_implementation.hpp" -#include "xo/facet/typeseq.hpp" -#include "xo/facet/obj.hpp" // for obj in shallow_copy -#include -#include - -namespace xo { - namespace mm { - using Copaque = const void *; - using Opaque = void *; - - /** @class AObject - * @brief Abstract facet for collector-eligible data - * - * Data that supports AGCObject can have memory managed - * by ACollector - **/ - struct AGCObject { - using size_type = std::size_t; - - /** RTTI: unique id# for actual runtime data representation **/ - virtual int32_t _typeseq() const noexcept = 0; - - virtual size_type shallow_size(Copaque d) const noexcept = 0; - virtual Opaque * shallow_copy(Copaque d, - obj mm) const noexcept = 0; - virtual size_type forward_children(Opaque d) const noexcept = 0; - }; - - // implementation IGCObject_DRepr of AGCObject for state DRepr - // should provide a specialization: - // - // template <> - // struct xo::facet::FacetImplementation { - // using ImplType = IGCObject_DRepr; - // }; - // - // then IGCObject_ImplType --> IGCObject_DRepr - // - template - using IGCObject_ImplType = xo::facet::FacetImplType; - } /*namespace mm*/ -} /*namespace xo*/ - -/* end AGCObject.hpp */ diff --git a/xo-gc/include/xo/gc/GCObject.hpp b/xo-gc/include/xo/gc/GCObject.hpp index 524002a4..2674b2ae 100644 --- a/xo-gc/include/xo/gc/GCObject.hpp +++ b/xo-gc/include/xo/gc/GCObject.hpp @@ -5,7 +5,7 @@ #pragma once -#include "AGCObject.hpp" +#include "detail/AGCObject.hpp" #include "detail/IGCObject_Any.hpp" #include "detail/IGCObject_Xfer.hpp" #include "detail/RGCObject.hpp" diff --git a/xo-gc/include/xo/gc/detail/ACollector.hpp b/xo-gc/include/xo/gc/detail/ACollector.hpp index d0d34bd7..24bd219e 100644 --- a/xo-gc/include/xo/gc/detail/ACollector.hpp +++ b/xo-gc/include/xo/gc/detail/ACollector.hpp @@ -27,7 +27,7 @@ namespace xo { /** @class ACollector * @brief Abstract facet for the XO garbage collector * - * Collector also supports the @ref AAllocator facet, see also + * A collector implementation will also support the @ref AAllocator facet, see also **/ struct ACollector { using size_type = std::size_t; diff --git a/xo-object2/include/xo/object2/IGCObject_DFloat.hpp b/xo-object2/include/xo/object2/IGCObject_DFloat.hpp index 1916f7e2..a6c5c17e 100644 --- a/xo-object2/include/xo/object2/IGCObject_DFloat.hpp +++ b/xo-object2/include/xo/object2/IGCObject_DFloat.hpp @@ -6,7 +6,7 @@ #pragma once #include -#include +#include #include #include "DFloat.hpp" diff --git a/xo-object2/include/xo/object2/IGCObject_DInteger.hpp b/xo-object2/include/xo/object2/IGCObject_DInteger.hpp index 69620b57..1f1f220c 100644 --- a/xo-object2/include/xo/object2/IGCObject_DInteger.hpp +++ b/xo-object2/include/xo/object2/IGCObject_DInteger.hpp @@ -6,7 +6,7 @@ #pragma once #include "xo/alloc2/alloc/AAllocator.hpp" -#include +#include #include #include "DInteger.hpp" diff --git a/xo-object2/include/xo/object2/IGCObject_DList.hpp b/xo-object2/include/xo/object2/IGCObject_DList.hpp index 927feb74..8ba91a61 100644 --- a/xo-object2/include/xo/object2/IGCObject_DList.hpp +++ b/xo-object2/include/xo/object2/IGCObject_DList.hpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include "DList.hpp"