28 using BinaryStream::p;
29 using BinaryStream::end;
30 using BinaryStream::start;
35 binary_(std::move(data)),
48 uint64_t size()
const override {
52 const std::vector<uint8_t>& content()
const {
56 std::vector<uint8_t>&& move_content() {
58 return std::move(binary_);
61 const uint8_t* p()
const override {
62 return this->binary_.data() + this->pos();
65 const uint8_t* start()
const override {
66 return this->binary_.data();
69 const uint8_t* end()
const override {
70 return this->binary_.data() + this->binary_.size();
74 return stream.type() == STREAM_TYPE::VECTOR;
79 const uint64_t stream_size = this->size();
80 if (offset > stream_size || (offset + size) > stream_size) {
81 return make_error_code(lief_errors::read_error);
83 return binary_.data() + offset;
85 std::vector<uint8_t> binary_;