diff options
-rw-r--r-- | serialize/binary-reader.hpp | 2 | ||||
-rw-r--r-- | serialize/binary-reader.inl | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/serialize/binary-reader.hpp b/serialize/binary-reader.hpp index 33897cea..96af8bf1 100644 --- a/serialize/binary-reader.hpp +++ b/serialize/binary-reader.hpp @@ -38,6 +38,8 @@ struct binary_reader final { binary_reader(const binary_reader&) = delete; binary_reader& operator=(const binary_reader&) = delete; + constexpr char peek() const; + private: std::size_t num_bytes_read = 0; It it, end; diff --git a/serialize/binary-reader.inl b/serialize/binary-reader.inl index 4d52490f..73be97d9 100644 --- a/serialize/binary-reader.inl +++ b/serialize/binary-reader.inl @@ -87,4 +87,11 @@ constexpr auto binary_reader<It>::read_asciiz_string() noexcept(false) fm_throw("can't find string terminator"_cf); } +template<string_input_iterator It> +constexpr char binary_reader<It>::peek() const +{ + fm_soft_assert(it != end); + return *it; +} + } // namespace floormat::Serialize |