Passing integers to constructor would be ambiguous because you don't know what UUID they would generate as integers can have different byte representations on different platforms. Sure, all-ones (as in -1) and all-zeros make it more or less obvious, but what about other integer values?
The solution is either construct UUID from string or from bytes.
boost::uuids::uuid u1{{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }};
boost::uuids::uuid u2 = boost::uuids::string_generator()("ffffffff-ffff-ffff-ffff-ffffffffffff");
std::istringstream strm("ffffffff-ffff-ffff-ffff-ffffffffffff");
boost::uuids::uuid u3;
strm >> u3;