The code can now accept either Boost or std::random generators.
The gamma distribution works. It uses Boost::Math, not Boost::Random. It turns out random's distributions just sample numbers, as do those of std::random, but Boost::Math will do quantiles and cdfs.