14 #ifndef LLVM_CLANG_AST_BASESUBOBJECT_H
15 #define LLVM_CLANG_AST_BASESUBOBJECT_H
18 #include "llvm/ADT/DenseMap.h"
19 #include "llvm/Support/DataTypes.h"
20 #include "llvm/Support/type_traits.h"
38 : Base(Base), BaseOffset(BaseOffset) { }
47 return LHS.Base == RHS.Base && LHS.BaseOffset == RHS.BaseOffset;
69 typedef std::pair<const clang::CXXRecordDecl *, clang::CharUnits> PairTy;
81 template <>
struct isPodLike<clang::BaseSubobject> {
82 static const bool value =
true;
static bool isEqual(const clang::BaseSubobject &LHS, const clang::BaseSubobject &RHS)
friend bool operator==(const BaseSubobject &LHS, const BaseSubobject &RHS)
const CXXRecordDecl * getBase() const
getBase - Returns the base class declaration.
static CharUnits fromQuantity(QuantityType Quantity)
fromQuantity - Construct a CharUnits quantity from a raw integer type.
static clang::BaseSubobject getTombstoneKey()
BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset)
static unsigned getHashValue(const clang::BaseSubobject &Base)
static clang::BaseSubobject getEmptyKey()
Represents a C++ struct/union/class.
CharUnits getBaseOffset() const
getBaseOffset - Returns the base class offset.