clang 20.0.0git
|
#include "clang/AST/ComparisonCategories.h"
Classes | |
struct | ValueInfo |
Public Member Functions | |
ComparisonCategoryInfo (const ASTContext &Ctx, const CXXRecordDecl *RD, ComparisonCategoryType Kind) | |
QualType | getType () const |
const ValueInfo * | getValueInfo (ComparisonCategoryResult ValueKind) const |
bool | isStrong () const |
True iff the comparison is "strong". | |
bool | isPartial () const |
True iff the comparison is not totally ordered. | |
ComparisonCategoryResult | makeWeakResult (ComparisonCategoryResult Res) const |
Converts the specified result kind into the correct result kind for this category. | |
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. | |
ComparisonCategoryType | Kind |
The Kind of the comparison category type. | |
Friends | |
class | ComparisonCategories |
class | Sema |
Definition at line 76 of file ComparisonCategories.h.
|
inline |
Definition at line 81 of file ComparisonCategories.h.
|
inline |
Definition at line 159 of file ComparisonCategories.h.
References clang::Equal, getValueInfo(), and makeWeakResult().
|
inline |
Definition at line 165 of file ComparisonCategories.h.
References getValueInfo(), and clang::Greater.
|
inline |
Definition at line 162 of file ComparisonCategories.h.
References getValueInfo(), and clang::Less.
QualType ComparisonCategoryInfo::getType | ( | ) | const |
Definition at line 167 of file ComparisonCategories.cpp.
Referenced by clang::Sema::CheckComparisonCategoryType().
|
inline |
Definition at line 168 of file ComparisonCategories.h.
References getValueInfo(), isPartial(), and clang::Unordered.
|
inline |
Definition at line 127 of file ComparisonCategories.h.
References clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue().
Referenced by clang::interp::CMP3(), getEqualOrEquiv(), getGreater(), getLess(), and getUnordered().
|
inline |
True iff the comparison is not totally ordered.
Definition at line 144 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 138 of file ComparisonCategories.h.
References Kind.
Referenced by clang::Sema::BuildSynthesizedThreeWayComparison(), and 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 152 of file ComparisonCategories.h.
References isStrong().
Referenced by clang::interp::CMP3(), and getEqualOrEquiv().
|
friend |
Definition at line 77 of file ComparisonCategories.h.
|
friend |
Definition at line 78 of file ComparisonCategories.h.
ComparisonCategoryType clang::ComparisonCategoryInfo::Kind |
The Kind of the comparison category type.
Definition at line 122 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), clang::ComparisonCategories::getCategoryString(), clang::ComparisonCategories::getResultString(), isPartial(), isStrong(), lookupCXXRecordDecl(), 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 119 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), and clang::ComparisonCategories::lookupInfoForType().