clang 10.0.0git

Public Member Functions | Public Attributes | List of all members
clang::concepts::ExprRequirement::ReturnTypeRequirement Class Reference

`#include "clang/AST/ExprConcepts.h"`

Collaboration diagram for clang::concepts::ExprRequirement::ReturnTypeRequirement:
[legend]

## Public Member Functions
| ReturnTypeRequirement ()
| No return type requirement was specified. More...
| ReturnTypeRequirement (SubstitutionDiagnostic *SubstDiag)
| A return type requirement was specified but it was a substitution failure. More...
| ReturnTypeRequirement (TemplateParameterList *TPL)
| A 'type constraint' style return type requirement. More...
bool | isDependent () const
bool | containsUnexpandedParameterPack () const
bool | isEmpty () const
bool | isSubstitutionFailure () const
bool | isTypeConstraint () const
SubstitutionDiagnostic * | getSubstitutionDiagnostic () const
const TypeConstraint * | getTypeConstraint () const
TemplateParameterList * | getTypeConstraintTemplateParameterList () const

## Public Attributes
friend | ASTStmtReader
friend | ASTStmtWriter

## Detailed Description

Definition at line 250 of file ExprConcepts.h.

## Constructor & Destructor Documentation

## ◆ ReturnTypeRequirement() [1/3]

clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement | ( |  | ) |
| inline

No return type requirement was specified.

Definition at line 260 of file ExprConcepts.h.

Referenced by clang::concepts::ExprRequirement::ExprRequirement().

## ◆ ReturnTypeRequirement() [2/3]

clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement | ( | SubstitutionDiagnostic * | SubstDiag | ) |
| inline

A return type requirement was specified but it was a substitution failure.

Definition at line 264 of file ExprConcepts.h.

## ◆ ReturnTypeRequirement() [3/3]

concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement | ( | TemplateParameterList * | TPL | ) |

A 'type constraint' style return type requirement.

Parameters

  TPL | an invented template parameter list containing a single type parameter with a type-constraint.

Definition at line 1013 of file SemaConcept.cpp.

References clang::TemplateParameterList::getParam(), getTypeConstraint(), and clang::TemplateParameterList::size().

## Member Function Documentation

## ◆ containsUnexpandedParameterPack()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::containsUnexpandedParameterPack | ( |  | ) | const
| inline

Definition at line 279 of file ExprConcepts.h.

## ◆ getSubstitutionDiagnostic()

SubstitutionDiagnostic* clang::concepts::ExprRequirement::ReturnTypeRequirement::getSubstitutionDiagnostic | ( |  | ) | const
| inline

Definition at line 300 of file ExprConcepts.h.

## ◆ getTypeConstraint()

const TypeConstraint * concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraint | ( |  | ) | const

Definition at line 110 of file ExprConcepts.cpp.

References clang::ASTContext::BoolTy, clang::C, clang::Expr::Expr(), clang::OK_Ordinary, P, clang::Stmt::RequiresExprBits, clang::Expr::setContainsUnexpandedParameterPack(), clang::Expr::setInstantiationDependent(), clang::Expr::setValueDependent(), and clang::VK_RValue.

Referenced by ReturnTypeRequirement().

## ◆ getTypeConstraintTemplateParameterList()

TemplateParameterList* clang::concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraintTemplateParameterList | ( |  | ) | const
| inline

Definition at line 307 of file ExprConcepts.h.

## ◆ isDependent()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isDependent | ( |  | ) | const
| inline

Definition at line 275 of file ExprConcepts.h.

## ◆ isEmpty()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isEmpty | ( |  | ) | const
| inline

Definition at line 286 of file ExprConcepts.h.

Referenced by clang::concepts::ExprRequirement::ExprRequirement().

## ◆ isSubstitutionFailure()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isSubstitutionFailure | ( |  | ) | const
| inline

Definition at line 290 of file ExprConcepts.h.

## ◆ isTypeConstraint()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isTypeConstraint | ( |  | ) | const
| inline

Definition at line 295 of file ExprConcepts.h.

## Member Data Documentation

## ◆ ASTStmtReader

friend clang::concepts::ExprRequirement::ReturnTypeRequirement::ASTStmtReader

Definition at line 256 of file ExprConcepts.h.

## ◆ ASTStmtWriter

friend clang::concepts::ExprRequirement::ReturnTypeRequirement::ASTStmtWriter

Definition at line 257 of file ExprConcepts.h.

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

- include/clang/AST/ExprConcepts.h
- lib/AST/ExprConcepts.cpp
- lib/Sema/SemaConcept.cpp