struct NormalizedConstraint

Declaration

struct NormalizedConstraint { /* full declaration omitted */ };

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.

Declared at: clang/include/clang/Sema/SemaConcept.h:81

Member Variables

public llvm::PointerUnion<AtomicConstraint*, CompoundConstraint> Constraint

Method Overview

  • public NormalizedConstraint(clang::AtomicConstraint * C)
  • public NormalizedConstraint(clang::ASTContext & C, clang::NormalizedConstraint LHS, clang::NormalizedConstraint RHS, clang::NormalizedConstraint::CompoundConstraintKind Kind)
  • public NormalizedConstraint(clang::ASTContext & C, const clang::NormalizedConstraint & Other)
  • public NormalizedConstraint(clang::NormalizedConstraint && Other)
  • private static Optional<clang::NormalizedConstraint> fromConstraintExpr(clang::Sema & S, clang::NamedDecl * D, const clang::Expr * E)
  • private static Optional<clang::NormalizedConstraint> fromConstraintExprs(clang::Sema & S, clang::NamedDecl * D, ArrayRef<const clang::Expr *> E)
  • public clang::AtomicConstraint * getAtomicConstraint() const
  • public clang::NormalizedConstraint::CompoundConstraintKind getCompoundKind() const
  • public clang::NormalizedConstraint & getLHS() const
  • public clang::NormalizedConstraint & getRHS() const
  • public bool isAtomic() const

Methods

NormalizedConstraint(clang::AtomicConstraint* C)

Declared at: clang/include/clang/Sema/SemaConcept.h:92

Parameters

clang::AtomicConstraint* C

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

Declared at: clang/include/clang/Sema/SemaConcept.h:93

Parameters

clang::ASTContext& C
clang::NormalizedConstraint LHS
clang::NormalizedConstraint RHS
clang::NormalizedConstraint:: CompoundConstraintKind Kind

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

Declared at: clang/include/clang/Sema/SemaConcept.h:99

Parameters

clang::ASTContext& C
const clang::NormalizedConstraint& Other

NormalizedConstraint(
    clang::NormalizedConstraint&& Other)

Declared at: clang/include/clang/Sema/SemaConcept.h:110

Parameters

clang::NormalizedConstraint&& Other

static Optional<clang::NormalizedConstraint>
fromConstraintExpr(clang::Sema& S,
                   clang::NamedDecl* D,
                   const clang::Expr* E)

Declared at: clang/include/clang/Sema/SemaConcept.h:150

Parameters

clang::Sema& S
clang::NamedDecl* D
const clang::Expr* E

static Optional<clang::NormalizedConstraint>
fromConstraintExprs(
    clang::Sema& S,
    clang::NamedDecl* D,
    ArrayRef<const clang::Expr*> E)

Declared at: clang/include/clang/Sema/SemaConcept.h:148

Parameters

clang::Sema& S
clang::NamedDecl* D
ArrayRef<const clang::Expr*> E

clang::AtomicConstraint* getAtomicConstraint()
    const

Declared at: clang/include/clang/Sema/SemaConcept.h:140

clang::NormalizedConstraint::
    CompoundConstraintKind
    getCompoundKind() const

Declared at: clang/include/clang/Sema/SemaConcept.h:123

clang::NormalizedConstraint& getLHS() const

Declared at: clang/include/clang/Sema/SemaConcept.h:130

clang::NormalizedConstraint& getRHS() const

Declared at: clang/include/clang/Sema/SemaConcept.h:135

bool isAtomic() const

Declared at: clang/include/clang/Sema/SemaConcept.h:128