1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef INODE_H
5#define INODE_H
6
7#include <QtCore/qstring.h>
8
9QT_BEGIN_NAMESPACE
10
11enum class Genus : unsigned char;
12enum class NodeType : unsigned char;
13
14/*!
15 \internal
16
17 INode defines a minimal interface for QDoc's Node hierarchy of classes.
18*/
19class INode
20{
21public:
22 virtual ~INode() = default;
23
24 [[nodiscard]] virtual Genus genus() const = 0;
25 [[nodiscard]] virtual NodeType nodeType() const = 0;
26 [[nodiscard]] virtual const QString &name() const = 0;
27 [[nodiscard]] virtual QString fullName() const = 0;
28};
29
30QT_END_NAMESPACE
31
32#endif // INODE_H
33

source code of qttools/src/qdoc/qdoc/src/qdoc/inode.h