Weibull works. Updated docs and example.
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.
Added a version of what we need for parallel random streams, the simplest approach.
Not related to distributions. There was a bug in construction of the ExplicitTransitions. Clang complained when constructing the ExplicitTransitions class that it could not create a copy constructor for unique_ptr. I couldn't see where I used that copy constructor. The problem was that I had accidentally created a destructor for ExplicitTransitions, and the creation of a destructor means the compiler will automatically generate copy and assignment operators, and it was these that tried to copy the unique_ptr. The solution was to make explicit move and move assignment operators, while deleting the copy and assignment operators with =delete. Now everything is happy.
Got rid of the Std versus Boost random generators because they both fulfill the same concept.
There is now a very simple parallel random number generator which serializes generation of random numbers to a single generator.
This is a version of piecewise continuous distributions that might work but needs testing. Have to make another go-around to make testing harness so it will wait for another merge.
Added ability to give each distribution a chance it would not fire.