Files
Towards/modules/io/include/bytebuffer/ByteBufferEncoder.hpp
T
Martin Slachta e6dd954ded #1 - quicr module
2026-08-01 13:48:50 +02:00

26 lines
438 B
C++

#pragma once
#include "ByteBuffer.hpp"
#include "bytebuffer/ByteBufferCodec.hpp"
namespace tw::net {
struct ByteBufferDecoder {
ByteBufferDecoder(RingByteBuffer& buf) : m_buf(buf) {}
template<typename T>
std::optional<T> push(size_t offset = 0)
{
std::optional<T> s = ByteBufferCodec<T>::bytes(m_buf, offset);
m_buf.skip(sizeof(T));
return s;
}
private:
RingByteBuffer& m_buf;
};
}