diff options
author | Bardur Arantsson <bardur@scientician.net> | 2019-02-15 19:20:25 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2019-02-15 19:20:25 +0100 |
commit | 5b078e3af137df5b4405f21a1d76b88bfb368b3a (patch) | |
tree | 43419de6b8e37f4684c3bbc5cbc8467aa3faef58 /src/z-rand.hpp | |
parent | db15a7dd4362369ee542f034c672ffedd5769ca1 (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.hpp | 3 |
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())); } |