clang 17.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". | |
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 77 of file ComparisonCategories.h.
|
inline |
Definition at line 82 of file ComparisonCategories.h.
|
inline |
Definition at line 160 of file ComparisonCategories.h.
References clang::Equal, getValueInfo(), and makeWeakResult().
|
inline |
Definition at line 166 of file ComparisonCategories.h.
References getValueInfo(), and clang::Greater.
|
inline |
Definition at line 163 of file ComparisonCategories.h.
References getValueInfo(), and clang::Less.
QualType ComparisonCategoryInfo::getType | ( | ) | const |
Definition at line 167 of file ComparisonCategories.cpp.
References clang::TypeDecl::getTypeForDecl(), and Record.
Referenced by clang::Sema::CheckComparisonCategoryType().
|
inline |
Definition at line 169 of file ComparisonCategories.h.
References getValueInfo(), isPartial(), and clang::Unordered.
|
inline |
Definition at line 128 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 145 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 139 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 153 of file ComparisonCategories.h.
References isStrong().
Referenced by getEqualOrEquiv().
|
friend |
Definition at line 78 of file ComparisonCategories.h.
|
friend |
Definition at line 79 of file ComparisonCategories.h.
ComparisonCategoryType clang::ComparisonCategoryInfo::Kind |
The Kind of the comparison category type.
Definition at line 123 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 120 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), getType(), clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue(), and clang::ComparisonCategories::lookupInfoForType().