diff --git a/include/xo/alloc2/AGCObject.hpp b/include/xo/alloc2/AGCObject.hpp index ef9e33a..fc9c016 100644 --- a/include/xo/alloc2/AGCObject.hpp +++ b/include/xo/alloc2/AGCObject.hpp @@ -5,8 +5,11 @@ #pragma once +#include "IAllocator_Any.hpp" +#include "RAllocator.hpp" #include "xo/facet/facet_implementation.hpp" #include "xo/facet/typeseq.hpp" +#include "xo/facet/obj.hpp" #include #include @@ -28,7 +31,8 @@ namespace xo { virtual int32_t _typeseq() const noexcept = 0; virtual size_type shallow_size(Copaque d) const noexcept = 0; - virtual Opaque * shallow_copy(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; }; diff --git a/include/xo/alloc2/IGCObject_Any.hpp b/include/xo/alloc2/IGCObject_Any.hpp index 114b17a..039a125 100644 --- a/include/xo/alloc2/IGCObject_Any.hpp +++ b/include/xo/alloc2/IGCObject_Any.hpp @@ -30,9 +30,10 @@ namespace xo { // from AGCObject int32_t _typeseq() const noexcept override { return s_typeseq; } - [[noreturn]] size_type shallow_size() const noexcept override { _fatal(); } - [[noreturn]] Opaque * shallow_copy() const noexcept override { _fatal(); } - [[noreturn]] size_type forward_children() const noexcept override { _fatal(); } + [[noreturn]] size_type shallow_size(Copaque) const noexcept override { _fatal(); } + [[noreturn]] Opaque * shallow_copy(Copaque, + obj) const noexcept override { _fatal(); } + [[noreturn]] size_type forward_children(Opaque) const noexcept override { _fatal(); } private: [[noreturn]] static void _fatal(); diff --git a/include/xo/alloc2/IGCObject_Xfer.hpp b/include/xo/alloc2/IGCObject_Xfer.hpp index 1756d38..75f78fd 100644 --- a/include/xo/alloc2/IGCObject_Xfer.hpp +++ b/include/xo/alloc2/IGCObject_Xfer.hpp @@ -30,8 +30,8 @@ namespace xo { size_type shallow_size(Copaque d) const noexcept override { return I::shallow_copy(_dcast(d)); } - Opaque * shallow_copy(Copaque d) const noexcept override { - return I::shallow_size(_dcast(d)); + Opaque * shallow_copy(Copaque d, obj mm) const noexcept override { + return I::shallow_size(_dcast(d), mm); } // non-const methods diff --git a/include/xo/alloc2/RAllocator.hpp b/include/xo/alloc2/RAllocator.hpp index 8f1bc80..012c7c2 100644 --- a/include/xo/alloc2/RAllocator.hpp +++ b/include/xo/alloc2/RAllocator.hpp @@ -5,6 +5,7 @@ #pragma once +#include "AAllocator.hpp" #include "xo/facet/RRouter.hpp" #include