/** @file IGCObject_DList.hpp * * @author Roland Conybeare, Dec 2025 **/ #pragma once #include #include #include #include #include "DList.hpp" namespace xo { namespace scm { struct IGCObject_DList; } namespace facet { template <> struct FacetImplementation { using ImplType = xo::mm::IGCObject_Xfer ; }; } namespace scm { /* changes here coordinate with: * IGCObject_XFer */ struct IGCObject_DList { public: using AAllocator = xo::mm::AAllocator; using ACollector = xo::mm::ACollector; using size_type = std::size_t; static size_type shallow_size(const DList & d) noexcept; static DList * shallow_copy(const DList & d, obj mm) noexcept; static size_type forward_children(DList & d, obj gc) noexcept; }; } /*namespace scm*/ } /*namespace xo*/ /* end IGCObject_DList.hpp */