diff --git a/include/xo/gc/AGCObject.hpp b/include/xo/gc/AGCObject.hpp deleted file mode 100644 index 1e0a6d4..0000000 --- a/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/include/xo/gc/GCObject.hpp b/include/xo/gc/GCObject.hpp index 524002a..2674b2a 100644 --- a/include/xo/gc/GCObject.hpp +++ b/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/include/xo/gc/detail/ACollector.hpp b/include/xo/gc/detail/ACollector.hpp index d0d34bd..24bd219 100644 --- a/include/xo/gc/detail/ACollector.hpp +++ b/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;