From 313c629a077ebeabc61fd616587790c6c0097ddb Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 17 Dec 2025 20:16:46 -0500 Subject: [PATCH] xo-alloc2: DX1CollectorIterator infra [WIP] --- include/xo/facet/OObject.hpp | 2 +- include/xo/facet/obj.hpp | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/include/xo/facet/OObject.hpp b/include/xo/facet/OObject.hpp index 66ca997..08327d0 100644 --- a/include/xo/facet/OObject.hpp +++ b/include/xo/facet/OObject.hpp @@ -171,7 +171,7 @@ namespace xo { * concerned. **/ template - DOther * downcast() + DOther * downcast() const requires (std::is_same_v) { if (data_ && (typeseq::id() == this->iface()->_typeseq())) { diff --git a/include/xo/facet/obj.hpp b/include/xo/facet/obj.hpp index 2eed0bf..3849291 100644 --- a/include/xo/facet/obj.hpp +++ b/include/xo/facet/obj.hpp @@ -50,7 +50,13 @@ namespace xo { obj() {} explicit obj(Super::DataPtr d) : Super(d) {} - /** copy constructor **/ + /** copy constructor + * + * Intended for use cases: + * obj lhs = obj // same type on rhs + * obj lhs = obj // variant lhs, typed rhs + * obj lhs = obj // variant on both sides + **/ template obj(const obj & other) requires (std::is_same_v @@ -98,13 +104,6 @@ namespace xo { static obj mkobj(DRepr * data) { obj x(data); return x; } }; -#ifdef DEPRECATED - template - inline obj - with_facet(DRepr * data) { - return obj(data); - } -#endif } /*namespace facet*/ using facet::obj;