From d5abbb476207b634371d3e10239f95f3ad6fa85c Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 14 May 2025 22:52:47 +0300 Subject: [PATCH] Support random::uniform_from with initializer_list --- libs/random/include/psemek/random/uniform.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/random/include/psemek/random/uniform.hpp b/libs/random/include/psemek/random/uniform.hpp index 777acf06..3ae10c3f 100644 --- a/libs/random/include/psemek/random/uniform.hpp +++ b/libs/random/include/psemek/random/uniform.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include namespace psemek::random { @@ -71,4 +71,10 @@ namespace psemek::random return *std::next(begin(container), uniform(rng, 0, size(container) - 1)); } + template + decltype(auto) uniform_from(RNG && rng, std::initializer_list const & list) + { + return *(list.begin() + uniform(rng, 0, list.size() - 1)); + } + }