xo-reflect: bugfix: missing RefPointerTdx.fixed_child_td()
This commit is contained in:
parent
41f5ee3f88
commit
5dce303fe1
1 changed files with 5 additions and 2 deletions
|
|
@ -28,7 +28,6 @@ namespace xo {
|
||||||
* null-pointer -> 0, non-null pointer -> 1
|
* null-pointer -> 0, non-null pointer -> 1
|
||||||
*/
|
*/
|
||||||
virtual uint32_t n_child_fixed() const override { return 0; /*unknown*/ }
|
virtual uint32_t n_child_fixed() const override { return 0; /*unknown*/ }
|
||||||
|
|
||||||
virtual TaggedPtr child_tp(uint32_t i, void * object) const override = 0;
|
virtual TaggedPtr child_tp(uint32_t i, void * object) const override = 0;
|
||||||
/* (forbidden) */
|
/* (forbidden) */
|
||||||
virtual std::string const & struct_member_name(uint32_t i) const override;
|
virtual std::string const & struct_member_name(uint32_t i) const override;
|
||||||
|
|
@ -36,7 +35,7 @@ namespace xo {
|
||||||
|
|
||||||
// ----- RefPointerTdx -----
|
// ----- RefPointerTdx -----
|
||||||
|
|
||||||
/* xo::ref::intrusive_ptr<T> for some T */
|
/* Pointer = xo::ref::intrusive_ptr<T> for some T */
|
||||||
template<typename Pointer>
|
template<typename Pointer>
|
||||||
class RefPointerTdx : public PointerTdx {
|
class RefPointerTdx : public PointerTdx {
|
||||||
public:
|
public:
|
||||||
|
|
@ -58,6 +57,10 @@ namespace xo {
|
||||||
return 0;
|
return 0;
|
||||||
} /*n_child*/
|
} /*n_child*/
|
||||||
|
|
||||||
|
virtual TypeDescrBase * fixed_child_td(uint32_t /*i*/) const override {
|
||||||
|
return EstablishTypeDescr::establish<typename Pointer::element_type>();
|
||||||
|
}
|
||||||
|
|
||||||
virtual TaggedPtr child_tp(uint32_t i, void * object) const override {
|
virtual TaggedPtr child_tp(uint32_t i, void * object) const override {
|
||||||
using xo::tostr;
|
using xo::tostr;
|
||||||
using xo::xtag;
|
using xo::xtag;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue