16#ifndef LIEF_MEMORY_STREAM_H
17#define LIEF_MEMORY_STREAM_H
21#include "LIEF/errors.hpp"
22#include "LIEF/BinaryStream/BinaryStream.hpp"
28 using BinaryStream::p;
29 using BinaryStream::end;
30 using BinaryStream::start;
36 baseaddr_(base_address),
46 uintptr_t base_address()
const {
47 return this->baseaddr_;
50 const uint8_t* p()
const override {
51 return start() + pos();
54 const uint8_t* start()
const override {
55 return reinterpret_cast<const uint8_t*
>(baseaddr_);
58 const uint8_t* end()
const override {
59 return start() + size_;
70 uint64_t size()
const override {
77 return stream.type() == BinaryStream::STREAM_TYPE::MEMORY;
82 uintptr_t baseaddr_ = 0;
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:34
Abstract binary that exposes an uniform API for the different executable file formats.
Definition Abstract/Binary.hpp:39
Definition MemoryStream.hpp:26
LIEF namespace.
Definition Abstract/Binary.hpp:32
tl::expected< T, lief_errors > result
Wrapper that contains an Object (T) or an error.
Definition errors.hpp:72