From 7fb5cfb432bdb91fddd1ff957cb04e2b8f8a156a Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 15 Dec 2025 00:56:49 -0500 Subject: [PATCH] xo-alloc2: progress on forwarding objects [WIP] --- include/xo/facet/OObject.hpp | 3 +++ include/xo/facet/facet_implementation.hpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/xo/facet/OObject.hpp b/include/xo/facet/OObject.hpp index 1f46fad2..66ca9977 100644 --- a/include/xo/facet/OObject.hpp +++ b/include/xo/facet/OObject.hpp @@ -62,6 +62,7 @@ namespace xo { using ISpecific = FacetImplType; using DataType = DRepr; using DataPtr = DRepr*; + using Opaque = void *; explicit OObject() {} explicit OObject(DataPtr d) : data_{d} {} @@ -127,8 +128,10 @@ namespace xo { } DataPtr data() const { return data_; } + Opaque opaque_data() const { return data_; } void reset() { data_ = nullptr; } + void reset_opaque(Opaque data) { data_ = (DataPtr)data; } /** * We're either: diff --git a/include/xo/facet/facet_implementation.hpp b/include/xo/facet/facet_implementation.hpp index bf245d7d..7e561c05 100644 --- a/include/xo/facet/facet_implementation.hpp +++ b/include/xo/facet/facet_implementation.hpp @@ -89,7 +89,7 @@ namespace xo { **/ template struct FacetImplementation { - static_assert(false && "expect specialization which should provide ImplType trait"); + //static_assert(false && "expect specialization which should provide ImplType trait"); }; /** Retrieve facet implementation for a (facet, datatype) pair **/