diff --git a/CMakeLists.txt b/CMakeLists.txt index c2e8b74d..be7c1d7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,3 +25,5 @@ add_subdirectory(utest) # provide find_package() support xo_export_cmake_config(${PROJECT_NAME} ${PROJECT_VERSION} ${PROJECT_NAME}Targets) + +# end CMakeLists.txt diff --git a/include/xo/reflect/pointer/PointerTdx.hpp b/include/xo/reflect/pointer/PointerTdx.hpp index 037d3ee4..5e59a9d9 100644 --- a/include/xo/reflect/pointer/PointerTdx.hpp +++ b/include/xo/reflect/pointer/PointerTdx.hpp @@ -23,6 +23,12 @@ namespace xo { virtual Metatype metatype() const override { return Metatype::mt_pointer; } virtual uint32_t n_child(void * object) const override = 0; + + /* number of children unknown at compile time. + * 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;