From 26701e52d2fbbe56660db465e659b81b86b1a24d Mon Sep 17 00:00:00 2001 From: Maksim Andrianov Date: Tue, 2 Jul 2019 18:00:25 +0300 Subject: [PATCH] Optimization step 'generate_features': Added WritePOD, ReadPOD. --- coding/read_write_utils.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/coding/read_write_utils.hpp b/coding/read_write_utils.hpp index 1ff8123c7a..81d2dd0008 100644 --- a/coding/read_write_utils.hpp +++ b/coding/read_write_utils.hpp @@ -25,6 +25,22 @@ namespace rw i = ReadVarUint(src); } + template + void WritePOD(TSink & sink, T const & value) + { + static_assert(std::is_trivially_copyable::value, ""); + + sink.Write(&value, sizeof(T)); + } + + template + void ReadPOD(TSource & src, T & value) + { + static_assert(std::is_trivially_copyable::value, ""); + + src.Read(&value, sizeof(T)); + } + template void Write(TSink & sink, std::string const & s) {