clang 22.0.0git
clang::FoldExpandedConstraint Class Reference

#include "clang/Sema/SemaConcept.h"

Inheritance diagram for clang::FoldExpandedConstraint:
[legend]

Public Member Functions

FoldOperatorKind getFoldOperator () const
const ExprgetPattern () const
const NormalizedConstraintgetNormalizedPattern () const
NormalizedConstraintgetNormalizedPattern ()
bool hasMatchingParameterMapping (ASTContext &C, const NormalizedConstraint &Other) const
Public Member Functions inherited from clang::NormalizedConstraintWithParamMapping
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

Static Public Member Functions

static FoldExpandedConstraintCreate (ASTContext &Ctx, const Expr *Pattern, const NamedDecl *ConstraintDecl, FoldOperatorKind OpKind, NormalizedConstraint *Constraint)
static bool AreCompatibleForSubsumption (const FoldExpandedConstraint &A, const FoldExpandedConstraint &B)

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 Member Functions inherited from clang::NormalizedConstraintWithParamMapping
 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
Protected Attributes inherited from clang::NormalizedConstraint
union { 
   AtomicConstraintBits   Atomic 
   FoldExpandedConstraintBits   FoldExpanded 
   ConceptIdBits   ConceptId 
   CompoundConstraintBits   Compound 
}; 

Detailed Description

Definition at line 356 of file SemaConcept.h.

Member Function Documentation

◆ AreCompatibleForSubsumption()

bool FoldExpandedConstraint::AreCompatibleForSubsumption ( const FoldExpandedConstraint & A,
const FoldExpandedConstraint & B )
static

◆ Create()

FoldExpandedConstraint * clang::FoldExpandedConstraint::Create ( ASTContext & Ctx,
const Expr * Pattern,
const NamedDecl * ConstraintDecl,
FoldOperatorKind OpKind,
NormalizedConstraint * Constraint )
inlinestatic

◆ getFoldOperator()

FoldOperatorKind clang::FoldExpandedConstraint::getFoldOperator ( ) const
inline

Definition at line 371 of file SemaConcept.h.

References clang::NormalizedConstraint::FoldExpanded.

◆ getNormalizedPattern() [1/2]

NormalizedConstraint & clang::FoldExpandedConstraint::getNormalizedPattern ( )
inline

◆ getNormalizedPattern() [2/2]

const NormalizedConstraint & clang::FoldExpandedConstraint::getNormalizedPattern ( ) const
inline

◆ getPattern()

const Expr * clang::FoldExpandedConstraint::getPattern ( ) const
inline

Definition at line 375 of file SemaConcept.h.

References clang::NormalizedConstraint::FoldExpanded.

Referenced by AreCompatibleForSubsumption().

◆ hasMatchingParameterMapping()

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

Definition at line 207 of file SemaConcept.h.


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