9 #ifndef LLDB_UTILITY_DATAEXTRACTOR_H
10 #define LLDB_UTILITY_DATAEXTRACTOR_H
17 #include "llvm/ADT/ArrayRef.h"
18 #include "llvm/Support/DataExtractor.h"
19 #include "llvm/Support/SwapByteOrder.h"
30 template <
typename T>
class SmallVectorImpl;
338 const uint8_t *ptr =
PeekData(*offset_ptr, length);
340 *offset_ptr += length;
488 size_t byte_size)
const;
549 uint32_t bitfield_bit_offset)
const;
587 uint32_t bitfield_bit_offset)
const;
613 uint8_t val =
m_start[*offset_ptr];
846 #ifdef LLDB_CONFIGURATION_DEBUG
847 assert(addr_size == 4 || addr_size == 8);
979 return size - offset;
996 constexpr
size_t src_size =
sizeof(T);
999 const T *src =
static_cast<const T *
>(
GetData(offset_ptr, src_size));
1003 memcpy(&val, src, src_size);
1005 llvm::sys::swapByteOrder(val);
1025 #endif // LLDB_UTILITY_DATAEXTRACTOR_H