a templated class that provides the interface with `std::random` and its _RandomNumberEngine_ c++ requirement. See [https://en.cppreference.com/w/cpp/numeric/random](https://en.cppreference.com/w/cpp/numeric/random) See [https://en.cppreference.com/w/cpp/named_req/RandomNumberEngine](https://en.cppreference.com/w/cpp/named_req/RandomNumberEngine)