17template <
class Base,
class Interface =
typename Base::InterfaceType>
30 virtual Interface*
GetChild(
int index)
const override;
40template <
class Base,
class Interface>
47template <
class Base,
class Interface>
50 m_parentPtr = parentPtr;
54 BaseClass::SetSlavePtr(changeablePtr);
61template <
class Base,
class Interface>
64 return BaseClass::HF_CHILDS_SUPPORTED | BaseClass::HF_PARENT_SUPPORTED;
68template <
class Base,
class Interface>
75template <
class Base,
class Interface>
82template <
class Base,
class Interface>
Common interface for data model objects, which can be changed.
Binder of some istd::IChangeable implementation and changing delegator.
Template based implementation of a hierarchical object.
virtual Interface * GetChild(int index) const override
virtual void SetParentPtr(Interface *parentPtr)
virtual Interface * GetParent() const override
virtual int GetChildsCount() const override
istd::TChangeDelegator< Base > BaseClass
virtual int GetHierarchicalFlags() const override