13#ifndef LLVM_CLANG_AST_BASESUBOBJECT_H
14#define LLVM_CLANG_AST_BASESUBOBJECT_H
18#include "llvm/ADT/DenseMapInfo.h"
19#include "llvm/Support/type_traits.h"
40 : Base(Base), BaseOffset(BaseOffset) {}
49 return LHS.Base == RHS.Base && LHS.BaseOffset == RHS.BaseOffset;
57template<>
struct DenseMapInfo<
clang::BaseSubobject> {
59 using PairTy = std::pair<const clang::CXXRecordDecl *, clang::CharUnits>;
61 return DenseMapInfo<PairTy>::getHashValue(PairTy(
Base.getBase(),
62 Base.getBaseOffset()));
Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate....
const CXXRecordDecl * getBase() const
getBase - Returns the base class declaration.
BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset)
CharUnits getBaseOffset() const
getBaseOffset - Returns the base class offset.
friend bool operator==(const BaseSubobject &LHS, const BaseSubobject &RHS)
Represents a C++ struct/union/class.
CharUnits - This is an opaque type for sizes expressed in character units.
The JSON file list parser is used to communicate input to InstallAPI.
Diagnostic wrappers for TextAPI types for error reporting.
static bool isEqual(const clang::BaseSubobject &LHS, const clang::BaseSubobject &RHS)
static unsigned getHashValue(const clang::BaseSubobject &Base)