mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-12 06:27:12 +03:00
move to new cspot
This commit is contained in:
19
components/spotify/cspot/bell/main/io/include/StreamUtils.h
Normal file
19
components/spotify/cspot/bell/main/io/include/StreamUtils.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user