/** @file IGCObject_DList.cpp * * @author Roland Conybeare, Dec 2025 **/ #include "IGCObject_DList.hpp" #include namespace xo { using xo::mm::AGCObject; using xo::mm::AAllocator; //using xo::facet::with_facet; using xo::facet::obj; using xo::facet::typeseq; using std::size_t; namespace scm { size_t IGCObject_DList::shallow_size(const DList &) noexcept { return sizeof(DList); } DList * IGCObject_DList::shallow_copy(const DList & src, obj mm) noexcept { DList * copy = (DList *)mm.alloc_copy((std::byte *)&src); if (copy) *copy = src; return copy; } size_t IGCObject_DList::forward_children(DList & src, obj gc) noexcept { scope log(XO_DEBUG(true)); gc.forward_inplace(src.head_.iface(), (void **)&(src.head_.data_)); auto iface = xo::facet::impl_for(); gc.forward_inplace(&iface, (void **)(&src.rest_)); return shallow_size(src); } } /*namespace scm*/ } /*namespace xo*/ /* end IGCObject_DList.cpp */