From d9c454bc3b8455314ee84c529103557f27f678fc Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 13 Jul 2021 11:42:46 +0300 Subject: [PATCH] Support reading an array pointer in util::binary_stream --- libs/util/include/psemek/util/binary_stream.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/util/include/psemek/util/binary_stream.hpp b/libs/util/include/psemek/util/binary_stream.hpp index 8c8aafa0..93e41bf4 100644 --- a/libs/util/include/psemek/util/binary_stream.hpp +++ b/libs/util/include/psemek/util/binary_stream.hpp @@ -77,6 +77,18 @@ namespace psemek::util return detail::read_helper::read(data); } + template + T const * read_ptr(std::size_t count) + { + std::size_t size = sizeof(T) * count; + if (data.size() < size) + detail::unexpected_end(); + + auto p = data.data(); + data.remove_prefix(size); + return reinterpret_cast(p); + } + char const * read_raw(std::size_t count) { if (data.size() < count)