clang 20.0.0git
Classes | Namespaces | Macros | Enumerations
Template.h File Reference
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclVisitor.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LLVM.h"
#include "clang/Sema/Sema.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SmallVector.h"
#include <cassert>
#include <optional>
#include <utility>
#include "clang/AST/DeclNodes.inc"

Go to the source code of this file.

Classes

class  clang::MultiLevelTemplateArgumentList
 Data structure that captures multiple levels of template argument lists for use in template instantiation. More...
 
class  clang::TemplatePartialOrderingContext
 
class  clang::DeducedTemplateArgument
 Captures a template argument whose value has been deduced via c++ template argument deduction. More...
 
class  clang::LocalInstantiationScope
 A stack-allocated class that identifies which local variable declaration instantiations are present in this scope. More...
 
class  clang::TemplateDeclInstantiator
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 

Macros

#define DECL(DERIVED, BASE)    Decl *Visit ## DERIVED ## Decl(DERIVED ## Decl *D);
 
#define ABSTRACT_DECL(DECL)
 
#define OBJCCONTAINER(DERIVED, BASE)
 
#define FILESCOPEASM(DERIVED, BASE)
 
#define TOPLEVELSTMT(DERIVED, BASE)
 
#define IMPORT(DERIVED, BASE)
 
#define EXPORT(DERIVED, BASE)
 
#define LINKAGESPEC(DERIVED, BASE)
 
#define OBJCCOMPATIBLEALIAS(DERIVED, BASE)
 
#define OBJCMETHOD(DERIVED, BASE)
 
#define OBJCTYPEPARAM(DERIVED, BASE)
 
#define OBJCIVAR(DERIVED, BASE)
 
#define OBJCPROPERTY(DERIVED, BASE)
 
#define OBJCPROPERTYIMPL(DERIVED, BASE)
 
#define EMPTY(DERIVED, BASE)
 
#define LIFETIMEEXTENDEDTEMPORARY(DERIVED, BASE)
 
#define BLOCK(DERIVED, BASE)
 
#define CAPTURED(DERIVED, BASE)
 
#define IMPLICITPARAM(DERIVED, BASE)
 

Enumerations

enum class  clang::TemplateSubstitutionKind : char { clang::Specialization , clang::Rewrite }
 The kind of template substitution being performed. More...
 
enum  clang::TPOC { clang::TPOC_Call , clang::TPOC_Conversion , clang::TPOC_Other }
 The context in which partial ordering of function templates occurs. More...
 

Macro Definition Documentation

◆ ABSTRACT_DECL

#define ABSTRACT_DECL (   DECL)

Definition at line 612 of file Template.h.

◆ BLOCK

#define BLOCK (   DERIVED,
  BASE 
)

Definition at line 631 of file Template.h.

◆ CAPTURED

#define CAPTURED (   DERIVED,
  BASE 
)

Definition at line 632 of file Template.h.

◆ DECL

#define DECL (   DERIVED,
  BASE 
)     Decl *Visit ## DERIVED ## Decl(DERIVED ## Decl *D);

Definition at line 610 of file Template.h.

◆ EMPTY

#define EMPTY (   DERIVED,
  BASE 
)

Definition at line 627 of file Template.h.

◆ EXPORT

#define EXPORT (   DERIVED,
  BASE 
)

Definition at line 619 of file Template.h.

◆ FILESCOPEASM

#define FILESCOPEASM (   DERIVED,
  BASE 
)

Definition at line 616 of file Template.h.

◆ IMPLICITPARAM

#define IMPLICITPARAM (   DERIVED,
  BASE 
)

Definition at line 633 of file Template.h.

◆ IMPORT

#define IMPORT (   DERIVED,
  BASE 
)

Definition at line 618 of file Template.h.

◆ LIFETIMEEXTENDEDTEMPORARY

#define LIFETIMEEXTENDEDTEMPORARY (   DERIVED,
  BASE 
)

Definition at line 628 of file Template.h.

◆ LINKAGESPEC

#define LINKAGESPEC (   DERIVED,
  BASE 
)

Definition at line 620 of file Template.h.

◆ OBJCCOMPATIBLEALIAS

#define OBJCCOMPATIBLEALIAS (   DERIVED,
  BASE 
)

Definition at line 621 of file Template.h.

◆ OBJCCONTAINER

#define OBJCCONTAINER (   DERIVED,
  BASE 
)

Definition at line 615 of file Template.h.

◆ OBJCIVAR

#define OBJCIVAR (   DERIVED,
  BASE 
)

Definition at line 624 of file Template.h.

◆ OBJCMETHOD

#define OBJCMETHOD (   DERIVED,
  BASE 
)

Definition at line 622 of file Template.h.

◆ OBJCPROPERTY

#define OBJCPROPERTY (   DERIVED,
  BASE 
)

Definition at line 625 of file Template.h.

◆ OBJCPROPERTYIMPL

#define OBJCPROPERTYIMPL (   DERIVED,
  BASE 
)

Definition at line 626 of file Template.h.

◆ OBJCTYPEPARAM

#define OBJCTYPEPARAM (   DERIVED,
  BASE 
)

Definition at line 623 of file Template.h.

◆ TOPLEVELSTMT

#define TOPLEVELSTMT (   DERIVED,
  BASE 
)

Definition at line 617 of file Template.h.