clang
15.0.0git
|
#include "clang/AST/ComparisonCategories.h"
Classes | |
struct | ValueInfo |
Public Member Functions | |
ComparisonCategoryInfo (const ASTContext &Ctx, CXXRecordDecl *RD, ComparisonCategoryType Kind) | |
QualType | getType () const |
const ValueInfo * | getValueInfo (ComparisonCategoryResult ValueKind) const |
bool | isStrong () const |
True iff the comparison is "strong". More... | |
bool | isPartial () const |
True iff the comparison is not totally ordered. More... | |
ComparisonCategoryResult | makeWeakResult (ComparisonCategoryResult Res) const |
Converts the specified result kind into the correct result kind for this category. More... | |
const ValueInfo * | getEqualOrEquiv () const |
const ValueInfo * | getLess () const |
const ValueInfo * | getGreater () const |
const ValueInfo * | getUnordered () const |
Public Attributes | |
const CXXRecordDecl * | Record = nullptr |
The declaration for the comparison category type from the standard library. More... | |
ComparisonCategoryType | Kind |
The Kind of the comparison category type. More... | |
Friends | |
class | ComparisonCategories |
class | Sema |
Definition at line 75 of file ComparisonCategories.h.
|
inline |
Definition at line 80 of file ComparisonCategories.h.
|
inline |
Definition at line 158 of file ComparisonCategories.h.
References clang::Equal, getValueInfo(), and makeWeakResult().
|
inline |
Definition at line 164 of file ComparisonCategories.h.
References getValueInfo(), and clang::Greater.
|
inline |
Definition at line 161 of file ComparisonCategories.h.
References getValueInfo(), and clang::Less.
QualType ComparisonCategoryInfo::getType | ( | ) | const |
Definition at line 166 of file ComparisonCategories.cpp.
References clang::TypeDecl::getTypeForDecl(), and Record.
Referenced by clang::Sema::CheckComparisonCategoryType().
|
inline |
Definition at line 167 of file ComparisonCategories.h.
References getValueInfo(), isPartial(), and clang::Unordered.
|
inline |
Definition at line 126 of file ComparisonCategories.h.
References clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue().
Referenced by getEqualOrEquiv(), getGreater(), getLess(), and getUnordered().
|
inline |
True iff the comparison is not totally ordered.
Definition at line 143 of file ComparisonCategories.h.
References Kind.
Referenced by clang::Sema::BuildSynthesizedThreeWayComparison(), and getUnordered().
|
inline |
True iff the comparison is "strong".
i.e. it checks equality and not equivalence.
Definition at line 137 of file ComparisonCategories.h.
References Kind.
Referenced by makeWeakResult().
|
inline |
Converts the specified result kind into the correct result kind for this category.
Specifically it lowers strong equality results to weak equivalence if needed.
Definition at line 151 of file ComparisonCategories.h.
References isStrong().
Referenced by getEqualOrEquiv().
|
friend |
Definition at line 76 of file ComparisonCategories.h.
|
friend |
Definition at line 77 of file ComparisonCategories.h.
ComparisonCategoryType clang::ComparisonCategoryInfo::Kind |
The Kind of the comparison category type.
Definition at line 121 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), clang::ComparisonCategories::getCategoryString(), clang::ComparisonCategories::getResultString(), isPartial(), isStrong(), clang::ComparisonCategories::lookupInfo(), and clang::ComparisonCategories::lookupInfoForType().
const CXXRecordDecl* clang::ComparisonCategoryInfo::Record = nullptr |
The declaration for the comparison category type from the standard library.
Definition at line 118 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), getType(), clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue(), and clang::ComparisonCategories::lookupInfoForType().