clang  12.0.0git
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
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"

Collaboration diagram for clang::NormalizedConstraint:
Collaboration graph
[legend]

Public Types

enum  CompoundConstraintKind { CCK_Conjunction, CCK_Disjunction }
 
using CompoundConstraint = llvm::PointerIntPair< std::pair< NormalizedConstraint, NormalizedConstraint > *, 1, CompoundConstraintKind >
 

Public Member Functions

 NormalizedConstraint (AtomicConstraint *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)
 
CompoundConstraintKind getCompoundKind () const
 
bool isAtomic () const
 
NormalizedConstraintgetLHS () const
 
NormalizedConstraintgetRHS () const
 
AtomicConstraintgetAtomicConstraint () const
 

Public Attributes

llvm::PointerUnion< AtomicConstraint *, 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 82 of file SemaConcept.h.

Member Typedef Documentation

◆ CompoundConstraint

Definition at line 89 of file SemaConcept.h.

Member Enumeration Documentation

◆ CompoundConstraintKind

Enumerator
CCK_Conjunction 
CCK_Disjunction 

Definition at line 85 of file SemaConcept.h.

Constructor & Destructor Documentation

◆ NormalizedConstraint() [1/4]

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

Definition at line 93 of file SemaConcept.h.

◆ NormalizedConstraint() [2/4]

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

Definition at line 94 of file SemaConcept.h.

References clang::C.

◆ NormalizedConstraint() [3/4]

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

◆ NormalizedConstraint() [4/4]

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

Definition at line 111 of file SemaConcept.h.

Member Function Documentation

◆ getAtomicConstraint()

AtomicConstraint* clang::NormalizedConstraint::getAtomicConstraint ( ) const
inline

Definition at line 141 of file SemaConcept.h.

Referenced by makeCNF(), makeDNF(), and NormalizedConstraint().

◆ getCompoundKind()

CompoundConstraintKind clang::NormalizedConstraint::getCompoundKind ( ) const
inline

Definition at line 124 of file SemaConcept.h.

Referenced by makeCNF(), makeDNF(), and NormalizedConstraint().

◆ getLHS()

NormalizedConstraint& clang::NormalizedConstraint::getLHS ( ) const
inline

Definition at line 131 of file SemaConcept.h.

Referenced by makeCNF(), makeDNF(), and NormalizedConstraint().

◆ getRHS()

NormalizedConstraint& clang::NormalizedConstraint::getRHS ( ) const
inline

Definition at line 136 of file SemaConcept.h.

Referenced by makeCNF(), makeDNF(), and NormalizedConstraint().

◆ isAtomic()

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

Definition at line 129 of file SemaConcept.h.

Referenced by makeCNF(), makeDNF(), and NormalizedConstraint().

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Definition at line 116 of file SemaConcept.h.

References Constraint.

Friends And Related Function Documentation

◆ Sema

friend class Sema
friend

Definition at line 83 of file SemaConcept.h.

Member Data Documentation

◆ Constraint

llvm::PointerUnion<AtomicConstraint *, CompoundConstraint> clang::NormalizedConstraint::Constraint

Definition at line 91 of file SemaConcept.h.

Referenced by operator=().


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