
AFAICT the shortest way to emulate the std::rand() function using boost/random.hpp would be as follows: unsigned int longhand_boost_rand() { boost::mt19937 rng; boost::uniform_int<> dist(0, RAND_MAX); boost::variate_generator < boost::mt19937, boost::uniform_int<> > generator(rng, dist); return generator(); } (apologies if I made any mistakes) I was wondering if there would be any reason not to provide a utility function which made it easier to write random number generators. For instance, the following: template<class Dist_T, class Rng_T> typename boost::variate_generator<Rng_T, Dist_T>::result_type generate_rand(Dist_T dist, Rng_T rng) { return boost::variate_generator<Rng_T, Dist_T>(rng, dist)(); } would allow us to rewrite our rand function as follows. unsigned int shorthand_boost_rand() { return generate_rand(boost::uniform_int<>(0, RAND_MAX), boost::mt19937()); } By the way, congratulations on an excellent product to the random.hpp team. -- Christopher Diggins http://www.cdiggins.com