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)

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

Declared at: clang/include/clang/AST/ComparisonCategories.h:158

const clang::ComparisonCategoryInfo::ValueInfo*
getGreater() const

Declared at: clang/include/clang/AST/ComparisonCategories.h:164

const clang::ComparisonCategoryInfo::ValueInfo*
getLess() const

Declared at: clang/include/clang/AST/ComparisonCategories.h:161

clang::QualType getType() const

Declared at: clang/include/clang/AST/ComparisonCategories.h:124

const clang::ComparisonCategoryInfo::ValueInfo*
getUnordered() const

Declared at: clang/include/clang/AST/ComparisonCategories.h:167

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

Description

True iff the comparison is not totally ordered.

Declared at: clang/include/clang/AST/ComparisonCategories.h:143

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

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

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