kdevplatform/language/duchain
abstracttype.h
Go to the documentation of this file.
39 inline Class ## Data * d_func_dynamic() { makeDynamic(); return reinterpret_cast<Class ## Data*>(d_ptr); } \
40 inline const Class ## Data* d_func() const { return reinterpret_cast<const Class ## Data*>(d_ptr); }
103 NoModifiers = 0,
105 ConstModifier = 1 << 0,
106 VolatileModifier = 1 << 1,
107 TransientModifier = 1 << 2,
108 NewModifier = 1 << 3,
109 SealedModifier = 1 << 4,
110 UnsafeModifier = 1 << 5,
111 FixedModifier = 1 << 6,
112 ShortModifier = 1 << 7,
113 LongModifier = 1 << 8,
114 LongLongModifier = 1 << 9,
115 SignedModifier = 1 << 10,
116 UnsignedModifier = 1 << 11,
118 LanguageSpecificModifier = 1 << 12
215 TypeAbstract ,
216 TypeIntegral ,
217 TypePointer ,
218 TypeReference ,
219 TypeFunction ,
220 TypeStructure ,
221 TypeArray ,
222 TypeDelayed ,
223 TypeEnumeration ,
224 TypeEnumerator ,
225 TypeAlias ,
226 TypeUnsure
237 Identity = 1
316 friend class AbstractTypeDataRequest;
#define TYPE_DECLARE_DATA(Class)
This macro is used to declare type-specific data-access functions within subclasses of AbstractType.
Definition: abstracttype.h:38
static Type::Data & copyData(const typename Type::Data &rhs)
Method to create copies of internal type data.
Definition: abstracttype.h:258
To fastCast(AbstractType *from)
You can use these instead of dynamic_cast, for basic types it has better performance because it check...
Definition: abstracttype.h:323
static DataType & copyDataDirectly(const DataType &rhs)
As above, but does not support copying data into a lower class(Should not be used while cloning)
Definition: abstracttype.h:275
Definition: typesystem.h:41
A class that can be used to walk through all types that are references from one type,...
Definition: typesystem.h:103
Definition: abstractfunctiondeclaration.cpp:27
static Type::Data & createData()
Method to create internal data structures.
Definition: abstracttype.h:292
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Fri Apr 16 2021 23:30:10 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2021 The KDE developers.
Generated on Fri Apr 16 2021 23:30:10 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.