diff --git a/idl/GCObject.json5 b/idl/GCObject.json5 index 8f7e071..0b4dfdf 100644 --- a/idl/GCObject.json5 +++ b/idl/GCObject.json5 @@ -62,7 +62,7 @@ doc: ["move instance using allocator"], return_type: "Opaque", args:[ - {type: "obj", name: "mm"}, + {type: "obj", name: "gc"}, ], const: true, noexcept: true, diff --git a/include/xo/alloc2/gc/AGCObject.hpp b/include/xo/alloc2/gc/AGCObject.hpp index ee0703d..44c777e 100644 --- a/include/xo/alloc2/gc/AGCObject.hpp +++ b/include/xo/alloc2/gc/AGCObject.hpp @@ -67,7 +67,7 @@ public: // nonconst methods /** move instance using allocator **/ - virtual Opaque shallow_move(Opaque data, obj mm) const noexcept = 0; + virtual Opaque shallow_move(Opaque data, obj gc) const noexcept = 0; /** during GC: forward immdiate children **/ virtual size_type forward_children(Opaque data, obj gc) const noexcept = 0; ///@} diff --git a/include/xo/alloc2/gc/IGCObject_Any.hpp b/include/xo/alloc2/gc/IGCObject_Any.hpp index 000c85f..25ff5db 100644 --- a/include/xo/alloc2/gc/IGCObject_Any.hpp +++ b/include/xo/alloc2/gc/IGCObject_Any.hpp @@ -64,7 +64,7 @@ namespace mm { [[noreturn]] size_type shallow_size(Copaque) const noexcept override { _fatal(); } // nonconst methods - [[noreturn]] Opaque shallow_move(Opaque, obj) const noexcept override; + [[noreturn]] Opaque shallow_move(Opaque, obj) const noexcept override; [[noreturn]] size_type forward_children(Opaque, obj) const noexcept override; ///@} diff --git a/include/xo/alloc2/gc/IGCObject_Xfer.hpp b/include/xo/alloc2/gc/IGCObject_Xfer.hpp index 35e23a6..b311e6f 100644 --- a/include/xo/alloc2/gc/IGCObject_Xfer.hpp +++ b/include/xo/alloc2/gc/IGCObject_Xfer.hpp @@ -54,8 +54,8 @@ namespace mm { } // non-const methods - Opaque shallow_move(Opaque data, obj mm) const noexcept override { - return I::shallow_move(_dcast(data), mm); + Opaque shallow_move(Opaque data, obj gc) const noexcept override { + return I::shallow_move(_dcast(data), gc); } size_type forward_children(Opaque data, obj gc) const noexcept override { return I::forward_children(_dcast(data), gc); diff --git a/include/xo/alloc2/gc/RCollector.hpp b/include/xo/alloc2/gc/RCollector.hpp index 6192c08..3bb2146 100644 --- a/include/xo/alloc2/gc/RCollector.hpp +++ b/include/xo/alloc2/gc/RCollector.hpp @@ -52,38 +52,38 @@ public: void * alloc_copy_for(const T * src) noexcept { return O::iface()->alloc_copy(O::data(), (std::byte *)const_cast(src)); } - + /** convenience template for move-constructible T (this is common) **/ template - void * std_copy_for(const T * src) noexcept { + T * std_copy_for(T * src) noexcept { void * mem = this->alloc_copy_for(src); if (mem) { return new (mem) T(std::move(*src)); } return nullptr; } - + /** forward faceted object pointer in place. Defined in GCObject.hpp to avoid #include cycle **/ template void forward_inplace(obj * p_obj); - + /** another convenience template for forwarding. * Defined in RGCObject.hpp to avoid #include cycle. **/ template void forward_inplace(DRepr ** pp_repr); - + /** convenience template where pointer requires pivot **/ template requires (!std::is_same_v) void forward_pivot_inplace(obj * p_obj); - + /** add root @p p_root **/ template void add_gc_root(obj * p_root) { O::iface()->add_gc_root_poly(O::data(), (obj *)p_root); } - + /** remove root @p p_root **/ template void remove_gc_root(obj * p_root) { diff --git a/include/xo/alloc2/gc/RGCObject.hpp b/include/xo/alloc2/gc/RGCObject.hpp index 1839f83..673e6e0 100644 --- a/include/xo/alloc2/gc/RGCObject.hpp +++ b/include/xo/alloc2/gc/RGCObject.hpp @@ -60,8 +60,8 @@ public: } // non-const methods (still const in router!) - Opaque shallow_move(obj mm) noexcept { - return O::iface()->shallow_move(O::data(), mm); + Opaque shallow_move(obj gc) noexcept { + return O::iface()->shallow_move(O::data(), gc); } size_type forward_children(obj gc) noexcept { return O::iface()->forward_children(O::data(), gc); diff --git a/src/alloc2/IGCObject_Any.cpp b/src/alloc2/IGCObject_Any.cpp index c9b9329..a22df0f 100644 --- a/src/alloc2/IGCObject_Any.cpp +++ b/src/alloc2/IGCObject_Any.cpp @@ -36,7 +36,7 @@ IGCObject_Any::_valid // nonconst methods auto -IGCObject_Any::shallow_move(Opaque, obj) const noexcept -> Opaque +IGCObject_Any::shallow_move(Opaque, obj) const noexcept -> Opaque { _fatal(); }