summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--serialize/binary-reader.hpp2
-rw-r--r--serialize/binary-reader.inl7
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