Files
core/Common/cppcf/streamrw.cpp
2022-07-26 19:31:25 +03:00

51 lines
1023 B
C++

#include "streamrw.h"
#include <algorithm>
using namespace CFCPP;
StreamRW::StreamRW(const Stream &stream)
: stream(stream)
{
buffer.fill(0);
}
T_LONG64 StreamRW::Seek(T_LONG64 offset)
{
stream->seekp(offset, std::ios::beg);
return stream->tellp();
}
template<size_t N>
std::array<BYTE, N> StreamRW::ReadArray()
{
std::array<BYTE,N> arr(0);
stream->read(reinterpret_cast<char*>(arr.data()), N);
return arr;
}
std::vector<BYTE> StreamRW::ReadArray(int lenght)
{
std::vector<BYTE> arr(lenght,0);
stream->read(reinterpret_cast<char*>(arr.data()), lenght);
return arr;
}
void StreamRW::ReadArray(char *data, int lenght)
{
stream->read(data, lenght);
}
void StreamRW::ReadArray(BYTE* data, int lenght)
{
stream->read(reinterpret_cast<char*>(data), lenght);
}
void StreamRW::WriteArray(const BYTE *arr, int lenght)
{
stream->write(reinterpret_cast<const char*>(arr), lenght);
}
void StreamRW::WriteArray(const char *arr, int lenght)
{
stream->write(arr, lenght);
}