Передача целых чисел в конструктор будет неоднозначной, поскольку вы не знаете, какой UUID они сгенерируют, поскольку целые числа могут иметь разные байтовые представления на разных платформах. Конечно, все единицы (как в -1) и все нули делают это более или менее очевидным, но как насчет других целочисленных значений?
Решением является либо создание UUID из строки, либо из байтов.
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;