Struct template make_unsigned_or_unbounded
boost::random::traits::make_unsigned_or_unbounded — Converts the argument type T to either an unsigned type or an unbounded integer type. 
 
Synopsis
Description
Эта черта имеет один элемент<type>, который является либо неподписанным типом, соответствующим T, либо неограниченным целым типом. Эта черта используется для генерации типов, подходящих для вычисления диапазона: в результате, если T подписан, то член<type>должен определить тип с большей точностью бита, чем T.. Для встроенных типов эта черта по умолчанию<boost::make_unsigned<T>::type>. Для определяемых пользователем типов он просто утверждает, что аргумент типа T является либо неограниченным целым числом, либо неподписанным (используя std::numeric_limits). Определенные пользователем специализации могут быть предоставлены для других случаев.