9#ifndef LLVM_SUPPORT_DATAEXTRACTOR_H 
   10#define LLVM_SUPPORT_DATAEXTRACTOR_H 
   25    int LoIx = IsLittleEndian ? 0 : 2;
 
 
 
   31static_assert(
sizeof(
uint24_t) == 3, 
"sizeof(uint24_t) != 3");
 
   35  return uint24_t(
C.Bytes[2], 
C.Bytes[1], 
C.Bytes[0]);
 
 
   64    explicit operator bool() { 
return !Err; }
 
 
   84    : Data(Data), IsLittleEndian(IsLittleEndian), AddressSize(AddressSize) {}
 
 
   89        IsLittleEndian(IsLittleEndian), AddressSize(AddressSize) {}
 
 
  162                                Error *Err = 
nullptr) 
const;
 
  233                              Error *Err = 
nullptr) 
const;
 
  273                                Error *Err = 
nullptr) 
const;
 
  410    return static_cast<int8_t
>(
getU8(OffsetPtr, Err));
 
 
  477    return static_cast<int16_t
>(
getU16(OffsetPtr, Err));
 
 
  570    return static_cast<int32_t
>(
getU32(OffsetPtr, Err));
 
 
  635    return static_cast<int64_t
>(
getU64(OffsetPtr, Err));
 
 
  725    return offset + length >= offset && 
isValidOffset(offset + length - 1);
 
 
  740  size_t size()
 const { 
return Data.size(); }
 
  754  template <
typename T> 
T getU(
uint64_t *OffsetPtr, 
Error *Err) 
const;
 
  755  template <
typename T>
 
 
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
 
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
 
Lightweight error class with error context and mandatory checking.
 
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
 
StringRef - Represent a constant reference to a string, i.e.
 
constexpr const char * data() const
data - Get a pointer to the start of the string (which may not be null terminated).
 
@ C
The default llvm calling convention, compatible with C.
 
This is an optimization pass for GlobalISel generic memory operations.
 
auto size(R &&Range, std::enable_if_t< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< decltype(Range.begin())>::iterator_category >::value, void > *=nullptr)
Get the size of a range.
 
FunctionAddr VTableAddr Count
 
uint24_t getSwappedBytes(uint24_t C)
Needed by swapByteOrder().
 
auto count(R &&Range, const E &Element)
Wrapper function around std::count to count the number of times an element Element occurs in the give...
 
LogicalResult success(bool IsSuccess=true)
Utility function to generate a LogicalResult.
 
An auxiliary type to facilitate extraction of 3-byte entities.
 
uint32_t getAsUint32(bool IsLittleEndian) const
 
Uint24(uint8_t U0, uint8_t U1, uint8_t U2)