clang 22.0.0git
|
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 = llvm::PointerIntPair< NormalizedConstraintPair *, 1, CompoundConstraintKind > |
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) | |
NormalizedConstraint & | operator= (const NormalizedConstraint &Other)=delete |
NormalizedConstraint & | operator= (NormalizedConstraint &&Other) |
bool | isAtomic () const |
bool | isFoldExpanded () const |
bool | isCompound () const |
CompoundConstraintKind | getCompoundKind () const |
NormalizedConstraint & | getLHS () const |
NormalizedConstraint & | getRHS () const |
AtomicConstraint * | getAtomicConstraint () const |
FoldExpandedConstraint * | getFoldExpandedConstraint () const |
Public Attributes | |
llvm::PointerUnion< AtomicConstraint *, FoldExpandedConstraint *, CompoundConstraint > | Constraint |
Friends | |
class | Sema |
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.
using clang::NormalizedConstraint::CompoundConstraint = llvm::PointerIntPair<NormalizedConstraintPair *, 1, CompoundConstraintKind> |
Definition at line 73 of file SemaConcept.h.
Enumerator | |
---|---|
CCK_Conjunction | |
CCK_Disjunction |
Definition at line 71 of file SemaConcept.h.
|
inline |
Definition at line 80 of file SemaConcept.h.
|
inline |
Definition at line 81 of file SemaConcept.h.
NormalizedConstraint::NormalizedConstraint | ( | ASTContext & | C, |
NormalizedConstraint | LHS, | ||
NormalizedConstraint | RHS, | ||
CompoundConstraintKind | Kind | ||
) |
Definition at line 1536 of file SemaConcept.cpp.
NormalizedConstraint::NormalizedConstraint | ( | ASTContext & | C, |
const NormalizedConstraint & | Other | ||
) |
Definition at line 1544 of file SemaConcept.cpp.
References clang::C, Constraint, and clang::Other.
|
inline |
Definition at line 87 of file SemaConcept.h.
References clang::Other.
AtomicConstraint * NormalizedConstraint::getAtomicConstraint | ( | ) | const |
Definition at line 1850 of file SemaConcept.cpp.
References Constraint, and isAtomic().
Referenced by substituteParameterMappings().
NormalizedConstraint::CompoundConstraintKind NormalizedConstraint::getCompoundKind | ( | ) | const |
Definition at line 1845 of file SemaConcept.cpp.
References Constraint, and isCompound().
FoldExpandedConstraint * NormalizedConstraint::getFoldExpandedConstraint | ( | ) | const |
Definition at line 1856 of file SemaConcept.cpp.
References Constraint, and isFoldExpanded().
Referenced by substituteParameterMappings().
NormalizedConstraint & NormalizedConstraint::getLHS | ( | ) | const |
Definition at line 1562 of file SemaConcept.cpp.
References Constraint, and isCompound().
Referenced by substituteParameterMappings().
NormalizedConstraint & NormalizedConstraint::getRHS | ( | ) | const |
Definition at line 1567 of file SemaConcept.cpp.
References Constraint, and isCompound().
Referenced by substituteParameterMappings().
|
inline |
Definition at line 100 of file SemaConcept.h.
Referenced by getAtomicConstraint().
|
inline |
Definition at line 104 of file SemaConcept.h.
Referenced by getCompoundKind(), getLHS(), getRHS(), and substituteParameterMappings().
|
inline |
Definition at line 101 of file SemaConcept.h.
Referenced by getFoldExpandedConstraint(), and substituteParameterMappings().
|
delete |
|
inline |
Definition at line 92 of file SemaConcept.h.
References Constraint, and clang::Other.
|
friend |
Definition at line 69 of file SemaConcept.h.
llvm::PointerUnion<AtomicConstraint *, FoldExpandedConstraint *, CompoundConstraint> clang::NormalizedConstraint::Constraint |
Definition at line 78 of file SemaConcept.h.
Referenced by getAtomicConstraint(), getCompoundKind(), getFoldExpandedConstraint(), getLHS(), getRHS(), NormalizedConstraint(), and operator=().