So i have a Random object:
typedef unsigned int uint32; class Random { public: Random() = default; Random(std::mt19937::result_type seed) : eng(seed
You can simply create a std::uniform_int_distribution::param_type and modify the range using the param() method. You can cut down the template noise with decltype :
std::uniform_int_distribution::param_type
decltype
decltype(uniform_dist.param()) new_range (0, upper); uniform_dist.param(new_range);