mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Added peek.
This commit is contained in:
@@ -77,7 +77,7 @@ namespace bx
|
||||
return _reader->read(_data, _size, _err);
|
||||
}
|
||||
|
||||
/// Write value.
|
||||
/// Read value.
|
||||
template<typename Ty>
|
||||
inline int32_t read(ReaderI* _reader, Ty& _value, Error* _err = NULL)
|
||||
{
|
||||
@@ -207,6 +207,25 @@ namespace bx
|
||||
{
|
||||
};
|
||||
|
||||
/// Peek data.
|
||||
inline int32_t peek(ReaderSeekerI* _reader, void* _data, int32_t _size, Error* _err = NULL)
|
||||
{
|
||||
BX_ERROR_SCOPE(_err);
|
||||
int64_t offset = bx::seek(_reader);
|
||||
int32_t size = _reader->read(_data, _size, _err);
|
||||
bx::seek(_reader, offset, bx::Whence::Begin);
|
||||
return size;
|
||||
}
|
||||
|
||||
/// Peek value.
|
||||
template<typename Ty>
|
||||
inline int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err = NULL)
|
||||
{
|
||||
BX_ERROR_SCOPE(_err);
|
||||
BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) );
|
||||
return peek(_reader, &_value, sizeof(Ty), _err);
|
||||
}
|
||||
|
||||
struct BX_NO_VTABLE WriterSeekerI : public WriterI, public SeekerI
|
||||
{
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user