xo-object2: obj<ACollector> argument to DArray::push_back()

This commit is contained in:
Roland Conybeare 2026-04-28 23:17:00 -04:00
commit f79e44a2b9
20 changed files with 388 additions and 105 deletions

View file

@ -52,7 +52,7 @@ public:
void * alloc_copy_for(const T * src) noexcept {
return O::iface()->alloc_copy(O::data(), (std::byte *)const_cast<T *>(src));
}
/** convenience template for move-constructible T (this is common) **/
template <typename T>
T * std_move_for(T * src) noexcept {
@ -62,28 +62,28 @@ public:
}
return nullptr;
}
/** forward faceted object pointer in place. Defined in GCObject.hpp to avoid #include cycle **/
template <typename DRepr>
void forward_inplace(obj<AGCObject,DRepr> * p_obj);
/** another convenience template for forwarding.
* Defined in RGCObject.hpp to avoid #include cycle.
**/
template <typename DRepr>
void forward_inplace(DRepr ** pp_repr);
/** convenience template where pointer requires pivot **/
template <typename AFacet, typename DRepr>
requires (!std::is_same_v<AFacet, AGCObject>)
void forward_pivot_inplace(obj<AFacet,DRepr> * p_obj);
/** add root @p p_root **/
template<typename DRepr>
void add_gc_root(obj<AGCObject, DRepr> * p_root) {
O::iface()->add_gc_root_poly(O::data(), (obj<AGCObject> *)p_root);
}
/** remove root @p p_root **/
template <typename DRepr>
void remove_gc_root(obj<AGCObject, DRepr> * p_root) {

View file

@ -110,7 +110,7 @@ namespace xo {
*p_lhs = rhs;
}
};
}
}
} /*namespace mm*/
} /*namespace xo*/
/* end RCollector_aux.hpp */