20 [[nodiscard]] std::vector<DerivedType*> children()
const;
22 [[nodiscard]] DerivedType* parent();
23 [[nodiscard]]
const DerivedType* parent()
const;
25 [[nodiscard]] DerivedType* root();
26 [[nodiscard]]
const DerivedType* root()
const;
29 void add(DerivedType* child);
30 void remove(DerivedType* child);
31 void setParent(DerivedType* parent);
34 DerivedType* m_parent =
nullptr;
35 std::vector<DerivedType*> m_children;