class ComparisonCategoryInfo
Declaration
class ComparisonCategoryInfo { /* full declaration omitted */ };
Declared at: clang/include/clang/AST/ComparisonCategories.h:75
Member Variables
- private const clang::ASTContext& Ctx
- private llvm::SmallVector< ValueInfo, static_cast<unsigned int>( ComparisonCategoryResult::Last) + 1> Objects
- A map containing the comparison category result decls from the standard library. The key is a value of ComparisonCategoryResult.
- public const clang::CXXRecordDecl* Record = nullptr
- The declaration for the comparison category type from the standard library.
- public clang::ComparisonCategoryType Kind
- The Kind of the comparison category type
Method Overview
- public ComparisonCategoryInfo(const clang::ASTContext & Ctx, clang::CXXRecordDecl * RD, clang::ComparisonCategoryType Kind)
- public const clang::ComparisonCategoryInfo::ValueInfo * getEqualOrEquiv() const
- public const clang::ComparisonCategoryInfo::ValueInfo * getGreater() const
- public const clang::ComparisonCategoryInfo::ValueInfo * getLess() const
- public clang::QualType getType() const
- public const clang::ComparisonCategoryInfo::ValueInfo * getUnordered() const
- public const clang::ComparisonCategoryInfo::ValueInfo * getValueInfo(clang::ComparisonCategoryResult ValueKind) const
- public bool isPartial() const
- public bool isStrong() const
- private clang::ComparisonCategoryInfo::ValueInfo * lookupValueInfo(clang::ComparisonCategoryResult ValueKind) const
- public clang::ComparisonCategoryResult makeWeakResult(clang::ComparisonCategoryResult Res) const
Methods
¶ComparisonCategoryInfo(
const clang::ASTContext& Ctx,
clang::CXXRecordDecl* RD,
clang::ComparisonCategoryType Kind)
ComparisonCategoryInfo(
const clang::ASTContext& Ctx,
clang::CXXRecordDecl* RD,
clang::ComparisonCategoryType Kind)
Declared at: clang/include/clang/AST/ComparisonCategories.h:80
Parameters
- const clang::ASTContext& Ctx
- clang::CXXRecordDecl* RD
- clang::ComparisonCategoryType Kind
¶const clang::ComparisonCategoryInfo::ValueInfo*
getEqualOrEquiv() const
const clang::ComparisonCategoryInfo::ValueInfo*
getEqualOrEquiv() const
Declared at: clang/include/clang/AST/ComparisonCategories.h:158
¶const clang::ComparisonCategoryInfo::ValueInfo*
getGreater() const
const clang::ComparisonCategoryInfo::ValueInfo*
getGreater() const
Declared at: clang/include/clang/AST/ComparisonCategories.h:164
¶const clang::ComparisonCategoryInfo::ValueInfo*
getLess() const
const clang::ComparisonCategoryInfo::ValueInfo*
getLess() const
Declared at: clang/include/clang/AST/ComparisonCategories.h:161
¶clang::QualType getType() const
clang::QualType getType() const
Declared at: clang/include/clang/AST/ComparisonCategories.h:124
¶const clang::ComparisonCategoryInfo::ValueInfo*
getUnordered() const
const clang::ComparisonCategoryInfo::ValueInfo*
getUnordered() const
Declared at: clang/include/clang/AST/ComparisonCategories.h:167
¶const clang::ComparisonCategoryInfo::ValueInfo*
getValueInfo(clang::ComparisonCategoryResult
ValueKind) const
const clang::ComparisonCategoryInfo::ValueInfo*
getValueInfo(clang::ComparisonCategoryResult
ValueKind) const
Declared at: clang/include/clang/AST/ComparisonCategories.h:126
Parameters
- clang::ComparisonCategoryResult ValueKind
¶bool isPartial() const
bool isPartial() const
Description
True iff the comparison is not totally ordered.
Declared at: clang/include/clang/AST/ComparisonCategories.h:143
¶bool isStrong() const
bool isStrong() const
Description
True iff the comparison is "strong". i.e. it checks equality and not equivalence.
Declared at: clang/include/clang/AST/ComparisonCategories.h:137
¶clang::ComparisonCategoryInfo::ValueInfo*
lookupValueInfo(clang::ComparisonCategoryResult
ValueKind) const
clang::ComparisonCategoryInfo::ValueInfo*
lookupValueInfo(clang::ComparisonCategoryResult
ValueKind) const
Description
Lookup the ValueInfo struct for the specified ValueKind. If the VarDecl for the value cannot be found, nullptr is returned. If the ValueInfo does not have a valid integer value the variable is evaluated as a constant expression to determine that value.
Declared at: clang/include/clang/AST/ComparisonCategories.h:113
Parameters
- clang::ComparisonCategoryResult ValueKind
¶clang::ComparisonCategoryResult makeWeakResult(
clang::ComparisonCategoryResult Res) const
clang::ComparisonCategoryResult makeWeakResult(
clang::ComparisonCategoryResult Res) const
Description
Converts the specified result kind into the correct result kind for this category. Specifically it lowers strong equality results to weak equivalence if needed.
Declared at: clang/include/clang/AST/ComparisonCategories.h:151
Parameters
- clang::ComparisonCategoryResult Res