ACF $AcfVersion:0$
TIHierarchical.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IPolymorphic.h>
7
8
9namespace istd
10{
11
12
16template <class Interface>
17class TIHierarchical: virtual public Interface
18{
19public:
20 typedef Interface InterfaceType;
21
37
42 virtual int GetHierarchicalFlags() const = 0;
48 virtual int GetChildsCount() const = 0;
52 virtual Interface* GetChild(int index) const = 0;
58 virtual Interface* GetParent() const = 0;
59};
60
61
63
64
65} // namespace istd
66
67
68
Common interface to define the hierarchical graph structures.
virtual int GetHierarchicalFlags() const =0
Get flags describing supported features of this hierarchical graph.
virtual Interface * GetParent() const =0
Get access to parent object.
virtual int GetChildsCount() const =0
Get number of children.
HierarchicalFlags
Flags describing supported features of this hierarchical graph.
@ HF_PARENT_SUPPORTED
If active parent information is supported.
@ HF_CHILDS_SUPPORTED
If active child information is supported.
virtual Interface * GetChild(int index) const =0
Get child value.
Standard library.
Definition IComponent.h:17
TIHierarchical< IPolymorphic > IHierarchical