summaryrefslogtreecommitdiff
path: root/src/z-rand.hpp
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2019-02-15 19:20:25 +0100
committerBardur Arantsson <bardur@scientician.net>2019-02-15 19:20:25 +0100
commit5b078e3af137df5b4405f21a1d76b88bfb368b3a (patch)
tree43419de6b8e37f4684c3bbc5cbc8467aa3faef58 /src/z-rand.hpp
parentdb15a7dd4362369ee542f034c672ffedd5769ca1 (diff)
Add asserts to uniform_element()
This will make attempts to use it on empty containers fail in a more obvious way.
Diffstat (limited to 'src/z-rand.hpp')
-rw-r--r--src/z-rand.hpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/z-rand.hpp b/src/z-rand.hpp
index 45436343..c92f1a6c 100644
--- a/src/z-rand.hpp
+++ b/src/z-rand.hpp
@@ -3,6 +3,7 @@
#include "h-basic.h"
#include "seed_fwd.hpp"
+#include <cassert>
#include <string>
/**** Available constants ****/
@@ -91,6 +92,7 @@ s32b rand_spread(s32b a, s32b d);
**/
template <class C> typename C::const_iterator uniform_element(C const &c)
{
+ assert(!c.empty());
return std::next(std::cbegin(c), rand_int(c.size()));
}
@@ -101,6 +103,7 @@ template <class C> typename C::const_iterator uniform_element(C const &c)
**/
template <class C> typename C::iterator uniform_element(C &c)
{
+ assert(!c.empty());
return std::next(std::begin(c), rand_int(c.size()));
}