clang 22.0.0git
clang::NormalizedConstraintWithParamMapping Class Reference

#include "clang/Sema/SemaConcept.h"

Inheritance diagram for clang::NormalizedConstraintWithParamMapping:
[legend]

Public Member Functions

const NamedDeclgetConstraintDecl () const
UnsignedOrNone getPackSubstitutionIndex () const
llvm::MutableArrayRef< TemplateArgumentLocgetParameterMapping () const
TemplateParameterListgetUsedTemplateParamList () const
bool hasMatchingParameterMapping (ASTContext &C, const NormalizedConstraint &Other) const
bool hasParameterMapping () const
const OccurenceListmappingOccurenceList () const
const OccurenceListmappingOccurenceListForSubsumption () const
void updateParameterMapping (OccurenceList Indexes, OccurenceList IndexesForSubsumption, llvm::MutableArrayRef< TemplateArgumentLoc > Args, TemplateParameterList *ParamList)
Public Member Functions inherited from clang::NormalizedConstraint
ConstraintKind getKind () const
SourceLocation getBeginLoc () const
SourceLocation getEndLoc () const
SourceRange getSourceRange () const

Protected Member Functions

 NormalizedConstraint (const Expr *ConstraintExpr, const NamedDecl *ConstraintDecl, UnsignedOrNone PackIndex)
 NormalizedConstraint (const Expr *Pattern, FoldOperatorKind OpKind, NormalizedConstraint *Constraint, const NamedDecl *ConstraintDecl)
 NormalizedConstraint (const ConceptReference *ConceptId, const NamedDecl *ConstraintDecl, NormalizedConstraint *SubConstraint, const ConceptSpecializationExpr *CSE, UnsignedOrNone PackIndex)
 NormalizedConstraint (NormalizedConstraint *LHS, CompoundConstraintKind CCK, NormalizedConstraint *RHS)
Protected Member Functions inherited from clang::NormalizedConstraint
 ~NormalizedConstraint ()
 NormalizedConstraint (const Expr *ConstraintExpr, const NamedDecl *ConstraintDecl, UnsignedOrNone PackIndex)
 NormalizedConstraint (const Expr *Pattern, FoldOperatorKind OpKind, NormalizedConstraint *Constraint, const NamedDecl *ConstraintDecl)
 NormalizedConstraint (const ConceptReference *ConceptId, const NamedDecl *ConstraintDecl, NormalizedConstraint *SubConstraint, const ConceptSpecializationExpr *CSE, UnsignedOrNone PackIndex)
 NormalizedConstraint (NormalizedConstraint *LHS, CompoundConstraintKind CCK, NormalizedConstraint *RHS)
bool hasParameterMapping () const
const OccurenceListmappingOccurenceList () const
const OccurenceListmappingOccurenceListForSubsumption () const
llvm::MutableArrayRef< TemplateArgumentLocgetParameterMapping () const
TemplateParameterListgetUsedTemplateParamList () const
void updateParameterMapping (OccurenceList Indexes, OccurenceList IndexesForSubsumption, llvm::MutableArrayRef< TemplateArgumentLoc > Args, TemplateParameterList *ParamList)
bool hasMatchingParameterMapping (ASTContext &C, const NormalizedConstraint &Other) const

Additional Inherited Members

Public Types inherited from clang::NormalizedConstraint
enum class  ConstraintKind : unsigned char { Atomic = 0 , ConceptId , FoldExpanded , Compound }
enum  CompoundConstraintKind : unsigned char { CCK_Conjunction , CCK_Disjunction }
enum class  FoldOperatorKind : unsigned char { And , Or }
using OccurenceList = llvm::SmallBitVector
Protected Types inherited from clang::NormalizedConstraint
using ExprOrConcept
Protected Attributes inherited from clang::NormalizedConstraint
union { 
   AtomicConstraintBits   Atomic 
   FoldExpandedConstraintBits   FoldExpanded 
   ConceptIdBits   ConceptId 
   CompoundConstraintBits   Compound 
}; 

Detailed Description

Definition at line 318 of file SemaConcept.h.

Member Function Documentation

◆ getConstraintDecl()

const NamedDecl * clang::NormalizedConstraintWithParamMapping::getConstraintDecl ( ) const
inline

Definition at line 331 of file SemaConcept.h.

References clang::NormalizedConstraint::Atomic.

◆ getPackSubstitutionIndex()

UnsignedOrNone clang::NormalizedConstraintWithParamMapping::getPackSubstitutionIndex ( ) const
inline

◆ getParameterMapping()

llvm::MutableArrayRef< TemplateArgumentLoc > clang::NormalizedConstraint::getParameterMapping ( ) const
inline

Definition at line 184 of file SemaConcept.h.

◆ getUsedTemplateParamList()

TemplateParameterList * clang::NormalizedConstraint::getUsedTemplateParamList ( ) const
inline

Definition at line 188 of file SemaConcept.h.

◆ hasMatchingParameterMapping()

bool clang::NormalizedConstraint::hasMatchingParameterMapping ( ASTContext & C,
const NormalizedConstraint & Other ) const
inline

◆ hasParameterMapping()

bool clang::NormalizedConstraint::hasParameterMapping ( ) const
inline

Definition at line 168 of file SemaConcept.h.

◆ mappingOccurenceList()

const OccurenceList & clang::NormalizedConstraint::mappingOccurenceList ( ) const
inline

Definition at line 174 of file SemaConcept.h.

◆ mappingOccurenceListForSubsumption()

const OccurenceList & clang::NormalizedConstraint::mappingOccurenceListForSubsumption ( ) const
inline

Definition at line 179 of file SemaConcept.h.

◆ NormalizedConstraint() [1/4]

clang::NormalizedConstraint::NormalizedConstraint ( const ConceptReference * ConceptId,
const NamedDecl * ConstraintDecl,
NormalizedConstraint * SubConstraint,
const ConceptSpecializationExpr * CSE,
UnsignedOrNone PackIndex )
inlineprotected

Definition at line 149 of file SemaConcept.h.

◆ NormalizedConstraint() [2/4]

◆ NormalizedConstraint() [3/4]

clang::NormalizedConstraint::NormalizedConstraint ( const Expr * Pattern,
FoldOperatorKind OpKind,
NormalizedConstraint * Constraint,
const NamedDecl * ConstraintDecl )
inlineprotected

Definition at line 135 of file SemaConcept.h.

◆ NormalizedConstraint() [4/4]

clang::NormalizedConstraint::NormalizedConstraint ( NormalizedConstraint * LHS,
CompoundConstraintKind CCK,
NormalizedConstraint * RHS )
inlineprotected

Definition at line 163 of file SemaConcept.h.

◆ updateParameterMapping()

void clang::NormalizedConstraint::updateParameterMapping ( OccurenceList Indexes,
OccurenceList IndexesForSubsumption,
llvm::MutableArrayRef< TemplateArgumentLoc > Args,
TemplateParameterList * ParamList )
inline

Definition at line 192 of file SemaConcept.h.


The documentation for this class was generated from the following file: