diff --git a/libs/random/include/psemek/random/generator.hpp b/libs/random/include/psemek/random/generator.hpp index 4831a862..611f4ba1 100644 --- a/libs/random/include/psemek/random/generator.hpp +++ b/libs/random/include/psemek/random/generator.hpp @@ -52,6 +52,20 @@ namespace psemek::random return std::numeric_limits::max(); } + template + friend void write(OStream & stream, generator const & gen) + { + write(stream, gen.state_); + write(stream, gen.inc_); + } + + template + friend void read(IStream & stream, generator & gen) + { + read(stream, gen.state_); + read(stream, gen.inc_); + } + private: std::uint64_t state_ = 0; std::uint64_t inc_ = 0;