kdevplatform/language/duchain
Go to the documentation of this file.
19 #ifndef KDEVPLATFORM_DECLARATION_ID_H
20 #define KDEVPLATFORM_DECLARATION_ID_H
25 #include <language/util/kdevhash.h>
62 uint additionalId = 0,
63 const IndexedInstantiationInformation& specialization = IndexedInstantiationInformation());
73 const IndexedInstantiationInformation& specialization = IndexedInstantiationInformation());
89 if (m_isDirect != rhs.m_isDirect)
94 && m_indirectData.additionalIdentity == rhs.
m_indirectData.additionalIdentity
95 && m_specialization == rhs.m_specialization;
97 return m_directData == rhs.
m_directData && m_specialization == rhs.m_specialization;
108 return !operator==(rhs);
116 return (m_isDirect && m_directData.isValid()) || m_indirectData.identifier.isValid();
129 return KDevHash() << m_directData.hash() << m_specialization.index();
131 return KDevHash() << m_indirectData.identifier.index() << m_indirectData.additionalIdentity <<
132 m_specialization.index();
156 void setSpecialization(
const IndexedInstantiationInformation& spec);
163 IndexedInstantiationInformation specialization()
const;
171 bool isDirect()
const;
188 uint additionalIdentity;
190 Indirect& operator=(
const Indirect& rhs) =
default;
202 IndexedInstantiationInformation m_specialization;
bool operator==(const DeclarationId &rhs) const
Equality operator.
bool isValid() const
Determine whether this declaration identifier references a valid declaration.
A helper-class to store an identifier by index in a type-safe way.
Represents a single declaration in a definition-use chain.
Represents a declaration only by its global indices.
The top context in a definition-use chain for one source file.
Allows clearly identifying a Declaration.
Q_DECLARE_TYPEINFO(KDevelop::DeclarationId, Q_MOVABLE_TYPE)
uint qHash(const KDevelop::DeclarationId &id)
bool operator!=(const DeclarationId &rhs) const
Not equal operator.
Represents a qualified identifier.
uint hash() const
Hash function for this declaration identifier.
IndexedDeclaration m_directData
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Jan 23 2021 09:40:52 by
doxygen 1.8.16 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.