#pragma once #include #include /** * Pseudo-random unsigned integer generator. */ class RandomNumberGenerator { public: /** * Creates a pseudo-random number generator. * * @param seed A number generation seed */ explicit 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 _generator; };