From 5dce303fe10ce05c0b3af2a922694f8d64208ba2 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Sat, 14 Sep 2024 18:26:10 -0500 Subject: [PATCH] xo-reflect: bugfix: missing RefPointerTdx.fixed_child_td() --- include/xo/reflect/pointer/PointerTdx.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/xo/reflect/pointer/PointerTdx.hpp b/include/xo/reflect/pointer/PointerTdx.hpp index 5e59a9d9..4484c6ed 100644 --- a/include/xo/reflect/pointer/PointerTdx.hpp +++ b/include/xo/reflect/pointer/PointerTdx.hpp @@ -28,7 +28,6 @@ namespace xo { * null-pointer -> 0, non-null pointer -> 1 */ virtual uint32_t n_child_fixed() const override { return 0; /*unknown*/ } - virtual TaggedPtr child_tp(uint32_t i, void * object) const override = 0; /* (forbidden) */ virtual std::string const & struct_member_name(uint32_t i) const override; @@ -36,7 +35,7 @@ namespace xo { // ----- RefPointerTdx ----- - /* xo::ref::intrusive_ptr for some T */ + /* Pointer = xo::ref::intrusive_ptr for some T */ template class RefPointerTdx : public PointerTdx { public: @@ -58,6 +57,10 @@ namespace xo { return 0; } /*n_child*/ + virtual TypeDescrBase * fixed_child_td(uint32_t /*i*/) const override { + return EstablishTypeDescr::establish(); + } + virtual TaggedPtr child_tp(uint32_t i, void * object) const override { using xo::tostr; using xo::xtag;