From 53a103e9e11a21e7c6c34623c817637aeb4d7dcf Mon Sep 17 00:00:00 2001 From: Raclamusi <61970673+Raclamusi@users.noreply.github.com> Date: Thu, 28 Nov 2024 20:03:55 +0900 Subject: [PATCH] =?UTF-8?q?DiscreteSample()=20=E3=81=AE=E6=88=BB=E3=82=8A?= =?UTF-8?q?=E5=80=A4=E3=81=AE=E3=82=B3=E3=83=94=E3=83=BC=E3=82=92=E5=9B=9E?= =?UTF-8?q?=E9=81=BF=20(#1275)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Siv3D/include/Siv3D/DiscreteDistribution.hpp | 8 ++++---- Siv3D/include/Siv3D/detail/DiscreteDistribution.ipp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Siv3D/include/Siv3D/DiscreteDistribution.hpp b/Siv3D/include/Siv3D/DiscreteDistribution.hpp index 6a0759528..e87a841b6 100644 --- a/Siv3D/include/Siv3D/DiscreteDistribution.hpp +++ b/Siv3D/include/Siv3D/DiscreteDistribution.hpp @@ -76,19 +76,19 @@ namespace s3d template [[nodiscard]] - inline auto DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight, URBG&& urbg); + inline decltype(auto) DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight, URBG&& urbg); template [[nodiscard]] - inline auto DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight); + inline decltype(auto) DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight); template [[nodiscard]] - inline auto DiscreteSample(const Container& c, DiscreteDistribution& weight, URBG&& urbg); + inline decltype(auto) DiscreteSample(const Container& c, DiscreteDistribution& weight, URBG&& urbg); template [[nodiscard]] - inline auto DiscreteSample(const Container& c, DiscreteDistribution& weight); + inline decltype(auto) DiscreteSample(const Container& c, DiscreteDistribution& weight); template [[nodiscard]] diff --git a/Siv3D/include/Siv3D/detail/DiscreteDistribution.ipp b/Siv3D/include/Siv3D/detail/DiscreteDistribution.ipp index ec89850d5..1fb298f72 100644 --- a/Siv3D/include/Siv3D/detail/DiscreteDistribution.ipp +++ b/Siv3D/include/Siv3D/detail/DiscreteDistribution.ipp @@ -73,7 +73,7 @@ namespace s3d } template - inline auto DiscreteSample(Iterator begin, [[maybe_unused]] Iterator end, DiscreteDistribution& weight, URBG&& urbg) + inline decltype(auto) DiscreteSample(Iterator begin, [[maybe_unused]] Iterator end, DiscreteDistribution& weight, URBG&& urbg) { assert(begin != end); assert(std::distance(begin, end) == static_cast(weight.size())); @@ -83,13 +83,13 @@ namespace s3d } template - inline auto DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight) + inline decltype(auto) DiscreteSample(Iterator begin, Iterator end, DiscreteDistribution& weight) { return DiscreteSample(begin, end, weight, GetDefaultRNG()); } template - inline auto DiscreteSample(const Container& c, DiscreteDistribution& weight, URBG&& urbg) + inline decltype(auto) DiscreteSample(const Container& c, DiscreteDistribution& weight, URBG&& urbg) { assert(std::size(c) != 0); assert(std::size(c) == weight.size()); @@ -100,7 +100,7 @@ namespace s3d } template - inline auto DiscreteSample(const Container& c, DiscreteDistribution& weight) + inline decltype(auto) DiscreteSample(const Container& c, DiscreteDistribution& weight) { return DiscreteSample(c, weight, GetDefaultRNG()); }