clang API Documentation
#include "clang/AST/NestedNameSpecifier.h"#include "clang/AST/TemplateName.h"#include "clang/Basic/Diagnostic.h"#include "clang/Basic/ExceptionSpecificationType.h"#include "clang/Basic/LLVM.h"#include "clang/Basic/Linkage.h"#include "clang/Basic/PartialDiagnostic.h"#include "clang/Basic/Specifiers.h"#include "clang/Basic/Visibility.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/FoldingSet.h"#include "llvm/ADT/iterator_range.h"#include "llvm/ADT/Optional.h"#include "llvm/ADT/PointerIntPair.h"#include "llvm/ADT/PointerUnion.h"#include "llvm/ADT/Twine.h"#include "llvm/Support/ErrorHandling.h"#include "clang/AST/TypeNodes.def"#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Classes | |
| class | llvm::PointerLikeTypeTraits< ::clang::Type * > |
| class | llvm::PointerLikeTypeTraits< ::clang::ExtQuals * > |
| struct | llvm::isPodLike< clang::QualType > |
| class | clang::Qualifiers |
| struct | clang::SplitQualType |
| class | clang::QualType |
| class | clang::QualType::StreamedQualTypeHelper |
| struct | llvm::simplify_type< ::clang::QualType > |
| class | llvm::PointerLikeTypeTraits< clang::QualType > |
| class | clang::ExtQualsTypeCommonBase |
Base class that is common to both the ExtQuals and Type classes, which allows QualType to access the common fields between the two. More... | |
| class | clang::ExtQuals |
| class | clang::Type |
| class | clang::Type::TypeBitfields |
| Bitfields required by the Type class. | |
| class | clang::Type::ArrayTypeBitfields |
| class | clang::Type::BuiltinTypeBitfields |
| class | clang::Type::FunctionTypeBitfields |
| class | clang::Type::ObjCObjectTypeBitfields |
| class | clang::Type::ReferenceTypeBitfields |
| class | clang::Type::TypeWithKeywordBitfields |
| class | clang::Type::VectorTypeBitfields |
| class | clang::Type::AttributedTypeBitfields |
| class | clang::Type::AutoTypeBitfields |
| class | clang::BuiltinType |
| class | clang::ComplexType |
| class | clang::ParenType |
| class | clang::PointerType |
| class | clang::AdjustedType |
| Represents a type which was implicitly adjusted by the semantic engine for arbitrary reasons. For example, array and function types can decay, and function types can have their calling conventions adjusted. More... | |
| class | clang::DecayedType |
| Represents a pointer type decayed from an array or function type. More... | |
| class | clang::BlockPointerType |
| class | clang::ReferenceType |
| class | clang::LValueReferenceType |
| class | clang::RValueReferenceType |
| class | clang::MemberPointerType |
| class | clang::ArrayType |
| class | clang::ConstantArrayType |
| class | clang::IncompleteArrayType |
| class | clang::VariableArrayType |
| class | clang::DependentSizedArrayType |
| class | clang::DependentSizedExtVectorType |
| class | clang::VectorType |
| class | clang::ExtVectorType |
| class | clang::FunctionType |
| class | clang::FunctionType::ExtInfo |
| class | clang::FunctionNoProtoType |
| class | clang::FunctionProtoType |
| struct | clang::FunctionProtoType::ExceptionSpecInfo |
| struct | clang::FunctionProtoType::ExtProtoInfo |
| ExtProtoInfo - Extra information about a function prototype. More... | |
| class | clang::UnresolvedUsingType |
| Represents the dependent type named by a dependently-scoped typename using declaration, e.g. using typename Base<T>::foo; Template instantiation turns these into the underlying type. More... | |
| class | clang::TypedefType |
| class | clang::TypeOfExprType |
| TypeOfExprType (GCC extension). More... | |
| class | clang::DependentTypeOfExprType |
| Internal representation of canonical, dependent typeof(expr) types. More... | |
| class | clang::TypeOfType |
| TypeOfType (GCC extension). More... | |
| class | clang::DecltypeType |
| DecltypeType (C++0x) More... | |
| class | clang::DependentDecltypeType |
| Internal representation of canonical, dependent decltype(expr) types. More... | |
| class | clang::UnaryTransformType |
| A unary type transform, which is a type constructed from another. More... | |
| class | clang::TagType |
| class | clang::RecordType |
| class | clang::EnumType |
| class | clang::AttributedType |
| class | clang::TemplateTypeParmType |
| struct | clang::TemplateTypeParmType::CanonicalTTPTInfo |
| class | clang::SubstTemplateTypeParmType |
| Represents the result of substituting a type for a template type parameter. More... | |
| class | clang::SubstTemplateTypeParmPackType |
| Represents the result of substituting a set of types for a template type parameter pack. More... | |
| class | clang::AutoType |
| Represents a C++11 auto or C++1y decltype(auto) type. More... | |
| class | clang::TemplateSpecializationType |
Represents a type template specialization; the template must be a class template, a type alias template, or a template template parameter. A template which cannot be resolved to one of these, e.g. because it is written with a dependent scope specifier, is instead represented as a DependentTemplateSpecializationType. More... | |
| class | clang::InjectedClassNameType |
| The injected class name of a C++ class template or class template partial specialization. Used to record that a type was spelled with a bare identifier rather than as a template-id; the equivalent for non-templated classes is just RecordType. More... | |
| class | clang::TypeWithKeyword |
| class | clang::TypeWithKeyword::CannotCastToThisType |
| class | clang::ElaboratedType |
| Represents a type that was referred to using an elaborated type keyword, e.g., struct S, or via a qualified name, e.g., N::M::type, or both. More... | |
| class | clang::DependentNameType |
| Represents a qualified type name for which the type name is dependent. More... | |
| class | clang::DependentTemplateSpecializationType |
| class | clang::PackExpansionType |
| Represents a pack expansion of types. More... | |
| class | clang::ObjCObjectType |
| class | clang::ObjCObjectTypeImpl |
| class | clang::ObjCInterfaceType |
| class | clang::ObjCObjectPointerType |
| class | clang::AtomicType |
| class | clang::QualifierCollector |
| A qualifier set is used to build a set of qualifiers. More... | |
| struct | clang::ArrayType_cannot_be_used_with_getAs< T, isArrayType > |
Namespaces | |
| namespace | clang |
| namespace | llvm |
Defines | |
| #define | TYPE(Class, Base) class Class##Type; |
| #define | TYPE(Class, Base) Class, |
| #define | LAST_TYPE(Class) TypeLast = Class, |
| #define | ABSTRACT_TYPE(Class, Base) |
| #define | TYPE(Class, Base) |
| #define | LEAF_TYPE(Class) |
| #define | BUILTIN_TYPE(Id, SingletonId) Id, |
| #define | LAST_BUILTIN_TYPE(Id) LastKind = Id |
Enumerations | |
| enum | { clang::TypeAlignmentInBits = 4, clang::TypeAlignment = 1 << TypeAlignmentInBits } |
| enum | clang::RefQualifierKind { clang::RQ_None = 0, clang::RQ_LValue, clang::RQ_RValue } |
| The kind of C++0x ref-qualifier associated with a function type, which determines whether a member function's "this" object can be an lvalue, rvalue, or neither. More... | |
| enum | clang::TagTypeKind { clang::TTK_Struct, clang::TTK_Interface, clang::TTK_Union, clang::TTK_Class, clang::TTK_Enum } |
| The kind of a tag type. More... | |
| enum | clang::ElaboratedTypeKeyword { clang::ETK_Struct, clang::ETK_Interface, clang::ETK_Union, clang::ETK_Class, clang::ETK_Enum, clang::ETK_Typename, clang::ETK_None } |
| The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier. More... | |
Functions | |
| FunctionType::ExtInfo | clang::getFunctionExtInfo (const Type &t) |
| FunctionType::ExtInfo | clang::getFunctionExtInfo (QualType t) |
| bool | clang::IsEnumDeclComplete (EnumDecl *ED) |
| Check if the given decl is complete. | |
| bool | clang::IsEnumDeclScoped (EnumDecl *ED) |
| Check if the given decl is scoped. | |
| const DiagnosticBuilder & | clang::operator<< (const DiagnosticBuilder &DB, QualType T) |
| const PartialDiagnostic & | clang::operator<< (const PartialDiagnostic &PD, QualType T) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define BUILTIN_TYPE | ( | Id, | |
| SingletonId | |||
| ) | Id, |
| #define LAST_BUILTIN_TYPE | ( | Id | ) | LastKind = Id |
| #define LEAF_TYPE | ( | Class | ) |