refactor: rename GCObject.shallow_copy -> shallow_move

resolve conflict since relying on move constructor in std_copy_for
This commit is contained in:
Roland Conybeare 2026-04-04 15:00:53 -04:00
commit 46c1efa952
7 changed files with 13 additions and 13 deletions

View file

@ -56,10 +56,10 @@
},
],
nonconst_methods: [
// Opaque shallow_copy(obj<AAllocator>>) noexcept
// Opaque shallow_move(obj<AAllocator>>) noexcept
{
name: "shallow_copy",
doc: ["copy instance using allocator"],
name: "shallow_move",
doc: ["move instance using allocator"],
return_type: "Opaque",
args:[
{type: "obj<AAllocator>", name: "mm"},

View file

@ -66,8 +66,8 @@ public:
virtual size_type shallow_size(Copaque data) const noexcept = 0;
// nonconst methods
/** copy instance using allocator **/
virtual Opaque shallow_copy(Opaque data, obj<AAllocator> mm) const noexcept = 0;
/** move instance using allocator **/
virtual Opaque shallow_move(Opaque data, obj<AAllocator> mm) const noexcept = 0;
/** during GC: forward immdiate children **/
virtual size_type forward_children(Opaque data, obj<ACollector> gc) const noexcept = 0;
///@}

View file

@ -64,7 +64,7 @@ namespace mm {
[[noreturn]] size_type shallow_size(Copaque) const noexcept override { _fatal(); }
// nonconst methods
[[noreturn]] Opaque shallow_copy(Opaque, obj<AAllocator>) const noexcept override;
[[noreturn]] Opaque shallow_move(Opaque, obj<AAllocator>) const noexcept override;
[[noreturn]] size_type forward_children(Opaque, obj<ACollector>) const noexcept override;
///@}

View file

@ -54,8 +54,8 @@ namespace mm {
}
// non-const methods
Opaque shallow_copy(Opaque data, obj<AAllocator> mm) const noexcept override {
return I::shallow_copy(_dcast(data), mm);
Opaque shallow_move(Opaque data, obj<AAllocator> mm) const noexcept override {
return I::shallow_move(_dcast(data), mm);
}
size_type forward_children(Opaque data, obj<ACollector> gc) const noexcept override {
return I::forward_children(_dcast(data), gc);

View file

@ -58,9 +58,9 @@ public:
void * std_copy_for(const T * src) noexcept {
void * mem = this->alloc_copy_for(src);
if (mem) {
new (mem) T(std::move(*src));
return new (mem) T(std::move(*src));
}
return (T *)mem;
return nullptr;
}
/** forward faceted object pointer in place. Defined in GCObject.hpp to avoid #include cycle **/

View file

@ -60,8 +60,8 @@ public:
}
// non-const methods (still const in router!)
Opaque shallow_copy(obj<AAllocator> mm) noexcept {
return O::iface()->shallow_copy(O::data(), mm);
Opaque shallow_move(obj<AAllocator> mm) noexcept {
return O::iface()->shallow_move(O::data(), mm);
}
size_type forward_children(obj<ACollector> gc) noexcept {
return O::iface()->forward_children(O::data(), gc);

View file

@ -36,7 +36,7 @@ IGCObject_Any::_valid
// nonconst methods
auto
IGCObject_Any::shallow_copy(Opaque, obj<AAllocator>) const noexcept -> Opaque
IGCObject_Any::shallow_move(Opaque, obj<AAllocator>) const noexcept -> Opaque
{
_fatal();
}