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"
30template <
typename T>
class SmallVectorImpl;
89 uint32_t target_byte_size = 1);
110 uint32_t addr_size, uint32_t target_byte_size = 1);
208 uint32_t num_per_line,
Type type)
const;
338 const uint8_t *ptr =
PeekData(*offset_ptr, length);
340 *offset_ptr += length;
488 size_t byte_size)
const;
548 uint32_t bitfield_bit_size,
549 uint32_t bitfield_bit_offset)
const;
586 uint32_t bitfield_bit_size,
587 uint32_t bitfield_bit_offset)
const;
613 uint8_t val =
m_start[*offset_ptr];
846 assert(addr_size == 2 || addr_size == 4 || addr_size == 8);
977 return size - offset;
994 constexpr size_t src_size =
sizeof(T);
997 const T *src =
static_cast<const T *
>(
GetData(offset_ptr, src_size));
1001 memcpy(&val, src, src_size);
1003 llvm::sys::swapByteOrder(val);
#define LLDB_INVALID_OFFSET
lldb::ByteOrder InlHostByteOrder()
A class that represents a running process on the host machine.
ByteOrder
Byte ordering definitions.
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP