From e304b09f9fb531584d6d1e76416c877fa074908d Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 8 Feb 2023 23:56:23 +0300 Subject: [PATCH] Fix random::uniform_from to work with rvalue containers and return types --- libs/random/include/psemek/random/uniform.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/random/include/psemek/random/uniform.hpp b/libs/random/include/psemek/random/uniform.hpp index 73456b6f..465069ac 100644 --- a/libs/random/include/psemek/random/uniform.hpp +++ b/libs/random/include/psemek/random/uniform.hpp @@ -56,9 +56,9 @@ namespace psemek::random } template - auto & uniform_from(RNG && rng, Container & container) + decltype(auto) uniform_from(RNG && rng, Container && container) { - if (container.empty()) + if (container.size() == 0) throw std::runtime_error("cannot sample from empty container"); return *std::next(container.begin(), uniform(rng, 0, container.size() - 1)); }