clang 22.0.0git
clang::NormalizedConstraint Struct Reference

A normalized constraint, as defined in C++ [temp.constr.normal], is either an atomic constraint, a conjunction of normalized constraints or a disjunction of normalized constraints. More...

#include "clang/Sema/SemaConcept.h"

Public Types

enum  CompoundConstraintKind { CCK_Conjunction , CCK_Disjunction }
using CompoundConstraint

Public Member Functions

 NormalizedConstraint (AtomicConstraint *C)
 NormalizedConstraint (FoldExpandedConstraint *C)
 NormalizedConstraint (ASTContext &C, NormalizedConstraint LHS, NormalizedConstraint RHS, CompoundConstraintKind Kind)
 NormalizedConstraint (ASTContext &C, const NormalizedConstraint &Other)
 NormalizedConstraint (NormalizedConstraint &&Other)
NormalizedConstraintoperator= (const NormalizedConstraint &Other)=delete
NormalizedConstraintoperator= (NormalizedConstraint &&Other)
bool isAtomic () const
bool isFoldExpanded () const
bool isCompound () const
CompoundConstraintKind getCompoundKind () const
NormalizedConstraintgetLHS () const
NormalizedConstraintgetRHS () const
AtomicConstraintgetAtomicConstraint () const
FoldExpandedConstraintgetFoldExpandedConstraint () const

Public Attributes

llvm::PointerUnion< AtomicConstraint *, FoldExpandedConstraint *, CompoundConstraintConstraint

Friends

class Sema

Detailed Description

A normalized constraint, as defined in C++ [temp.constr.normal], is either an atomic constraint, a conjunction of normalized constraints or a disjunction of normalized constraints.

Definition at line 68 of file SemaConcept.h.

Member Typedef Documentation

◆ CompoundConstraint

Member Enumeration Documentation

◆ CompoundConstraintKind

Enumerator
CCK_Conjunction 
CCK_Disjunction 

Definition at line 71 of file SemaConcept.h.

Constructor & Destructor Documentation

◆ NormalizedConstraint() [1/5]

clang::NormalizedConstraint::NormalizedConstraint ( AtomicConstraint * C)
inline

◆ NormalizedConstraint() [2/5]

clang::NormalizedConstraint::NormalizedConstraint ( FoldExpandedConstraint * C)
inline

Definition at line 81 of file SemaConcept.h.

References clang::C, and Constraint.

◆ NormalizedConstraint() [3/5]

NormalizedConstraint::NormalizedConstraint ( ASTContext & C,
NormalizedConstraint LHS,
NormalizedConstraint RHS,
CompoundConstraintKind Kind )

Definition at line 1536 of file SemaConcept.cpp.

References clang::C, Constraint, and NormalizedConstraint().

◆ NormalizedConstraint() [4/5]

NormalizedConstraint::NormalizedConstraint ( ASTContext & C,
const NormalizedConstraint & Other )

Definition at line 1544 of file SemaConcept.cpp.

References clang::C, Constraint, NormalizedConstraint(), and clang::Other.

◆ NormalizedConstraint() [5/5]

clang::NormalizedConstraint::NormalizedConstraint ( NormalizedConstraint && Other)
inline

Definition at line 87 of file SemaConcept.h.

References Constraint, NormalizedConstraint(), and clang::Other.

Member Function Documentation

◆ getAtomicConstraint()

AtomicConstraint * NormalizedConstraint::getAtomicConstraint ( ) const

Definition at line 1850 of file SemaConcept.cpp.

References clang::cast(), Constraint, and isAtomic().

Referenced by substituteParameterMappings().

◆ getCompoundKind()

NormalizedConstraint::CompoundConstraintKind NormalizedConstraint::getCompoundKind ( ) const

Definition at line 1845 of file SemaConcept.cpp.

References clang::cast(), Constraint, and isCompound().

◆ getFoldExpandedConstraint()

FoldExpandedConstraint * NormalizedConstraint::getFoldExpandedConstraint ( ) const

Definition at line 1856 of file SemaConcept.cpp.

References clang::cast(), Constraint, and isFoldExpanded().

Referenced by substituteParameterMappings().

◆ getLHS()

NormalizedConstraint & NormalizedConstraint::getLHS ( ) const

Definition at line 1562 of file SemaConcept.cpp.

References clang::cast(), Constraint, isCompound(), and NormalizedConstraint().

Referenced by substituteParameterMappings().

◆ getRHS()

NormalizedConstraint & NormalizedConstraint::getRHS ( ) const

Definition at line 1567 of file SemaConcept.cpp.

References clang::cast(), Constraint, isCompound(), and NormalizedConstraint().

Referenced by substituteParameterMappings().

◆ isAtomic()

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

Definition at line 100 of file SemaConcept.h.

References Constraint.

Referenced by getAtomicConstraint().

◆ isCompound()

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

Definition at line 104 of file SemaConcept.h.

References Constraint.

Referenced by getCompoundKind(), getLHS(), getRHS(), and substituteParameterMappings().

◆ isFoldExpanded()

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

Definition at line 101 of file SemaConcept.h.

References Constraint.

Referenced by getFoldExpandedConstraint(), and substituteParameterMappings().

◆ operator=() [1/2]

NormalizedConstraint & clang::NormalizedConstraint::operator= ( const NormalizedConstraint & Other)
delete

◆ operator=() [2/2]

NormalizedConstraint & clang::NormalizedConstraint::operator= ( NormalizedConstraint && Other)
inline

Definition at line 92 of file SemaConcept.h.

References Constraint, NormalizedConstraint(), and clang::Other.

◆ Sema

friend class Sema
friend

Definition at line 69 of file SemaConcept.h.

References Sema.

Referenced by Sema.

Member Data Documentation

◆ Constraint


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