diff options
Diffstat (limited to 'src/random_generator.hpp')
-rw-r--r-- | src/random_generator.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/random_generator.hpp b/src/random_generator.hpp new file mode 100644 index 0000000..a4c1331 --- /dev/null +++ b/src/random_generator.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include <memory> +#include <random> + +/** + * Pseudo-random unsigned integer generator. + */ +class RandomNumberGenerator +{ +public: + /** + * Creates a pseudo-random number generator. + * + * @param seed A number generation seed + */ + RandomNumberGenerator(unsigned int seed); + + /** + * Creates a pesudo-random number generator. + */ + RandomNumberGenerator(); + + /** + * Generates a number in the range of a to b. + * + * @param a A number lower than b + * @param b A number greater than a + */ + unsigned int in_range(unsigned int a, unsigned int b); + +private: + std::unique_ptr<std::mt19937> _generator; +}; |