clang 19.0.0git
Classes | Namespaces | Macros | Typedefs | Functions
CanonicalType.h File Reference
#include "clang/AST/Type.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

class  clang::CanQual< T >
 Represents a canonical, potentially-qualified type. More...
 
class  clang::CanProxyBase< T >
 Base class of all canonical proxy types, which is responsible for storing the underlying canonical type and providing basic conversions. More...
 
struct  clang::CanProxyAdaptor< T >
 Replaceable canonical proxy adaptor class that provides the link between a canonical type and the accessors of the type. More...
 
class  clang::CanProxy< T >
 Canonical proxy type returned when retrieving the members of a canonical type or as the result of the CanQual<T>::getAs member function. More...
 
struct  llvm::simplify_type< ::clang::CanQual< T > >
 Implement simplify_type for CanQual<T>, so that we can dyn_cast from CanQual<T> to a specific Type class. More...
 
struct  llvm::PointerLikeTypeTraits< clang::CanQual< T > >
 
struct  clang::CanTypeIterator< InputIterator >
 Iterator adaptor that turns an iterator over canonical QualTypes into an iterator over CanQualTypes. More...
 
struct  clang::CanProxyAdaptor< ComplexType >
 
struct  clang::CanProxyAdaptor< PointerType >
 
struct  clang::CanProxyAdaptor< BlockPointerType >
 
struct  clang::CanProxyAdaptor< ReferenceType >
 
struct  clang::CanProxyAdaptor< LValueReferenceType >
 
struct  clang::CanProxyAdaptor< RValueReferenceType >
 
struct  clang::CanProxyAdaptor< MemberPointerType >
 
struct  clang::CanProxyAdaptor< DependentSizedExtVectorType >
 
struct  clang::CanProxyAdaptor< VectorType >
 
struct  clang::CanProxyAdaptor< ExtVectorType >
 
struct  clang::CanProxyAdaptor< FunctionType >
 
struct  clang::CanProxyAdaptor< FunctionNoProtoType >
 
struct  clang::CanProxyAdaptor< FunctionProtoType >
 
struct  clang::CanProxyAdaptor< TypeOfType >
 
struct  clang::CanProxyAdaptor< DecltypeType >
 
struct  clang::CanProxyAdaptor< UnaryTransformType >
 
struct  clang::CanProxyAdaptor< TagType >
 
struct  clang::CanProxyAdaptor< RecordType >
 
struct  clang::CanProxyAdaptor< EnumType >
 
struct  clang::CanProxyAdaptor< TemplateTypeParmType >
 
struct  clang::CanProxyAdaptor< ObjCObjectType >
 
struct  clang::CanProxyAdaptor< ObjCObjectPointerType >
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  llvm
 YAML serialization mapping.
 

Macros

#define LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(Accessor)
 
#define LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(Type, Accessor)   Type Accessor() const { return this->getTypePtr()->Accessor(); }
 

Typedefs

using clang::CanQualType = CanQual< Type >
 Represents a canonical, potentially-qualified type.
 

Functions

template<typename T , typename U >
bool clang::operator== (CanQual< T > x, CanQual< U > y)
 
template<typename T , typename U >
bool clang::operator!= (CanQual< T > x, CanQual< U > y)
 
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &DB, CanQualType T)
 

Macro Definition Documentation

◆ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR

#define LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR (   Type,
  Accessor 
)    Type Accessor() const { return this->getTypePtr()->Accessor(); }

Definition at line 233 of file CanonicalType.h.

◆ LLVM_CLANG_CANPROXY_TYPE_ACCESSOR

#define LLVM_CLANG_CANPROXY_TYPE_ACCESSOR (   Accessor)
Value:
CanQualType Accessor() const { \
return CanQualType::CreateUnsafe(this->getTypePtr()->Accessor()); \
}

Definition at line 228 of file CanonicalType.h.