| 12345678910111213141516171819 | #pragma once#include <cstddef>#include <istream>#include <streambuf>namespace bell {struct MemoryBuffer : std::streambuf {  MemoryBuffer(std::byte const* base, size_t size) {    std::byte* p(const_cast<std::byte*>(base));    this->setg((char*)p, (char*)p, (char*)p + size);  }};struct IMemoryStream : virtual MemoryBuffer, std::istream {  IMemoryStream(std::byte const* base, size_t size)      : MemoryBuffer(base, size),        std::istream(static_cast<std::streambuf*>(this)) {}};}  // namespace bell
 |