14 #ifndef LLVM_CLANG_AST_BASESUBOBJECT_H
15 #define LLVM_CLANG_AST_BASESUBOBJECT_H
19 #include "llvm/ADT/DenseMap.h"
20 #include "llvm/Support/DataTypes.h"
21 #include "llvm/Support/type_traits.h"
37 : Base(Base), BaseOffset(BaseOffset) { }
46 return LHS.Base == RHS.Base && LHS.BaseOffset == RHS.BaseOffset;
68 typedef std::pair<const clang::CXXRecordDecl *, clang::CharUnits> PairTy;
80 template <>
struct isPodLike<clang::BaseSubobject> {
81 static const bool value =
true;
static bool isEqual(const clang::BaseSubobject &LHS, const clang::BaseSubobject &RHS)
CharUnits - This is an opaque type for sizes expressed in character units.
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)
Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).
static clang::BaseSubobject getEmptyKey()
Represents a C++ struct/union/class.
CharUnits getBaseOffset() const
getBaseOffset - Returns the base class offset.