template <class Rep> struct treat_as_floating_point
: is_floating_point<Rep> { };
В duration использует шаблон по treat_as_floating_point черту , чтобы помочь определить , если duration объект может быть преобразован в другой duration с другим клещом period. Если treat_as_floating_point_v<Rep> есть true, то среди durations разрешены неявные преобразования . В противном случае неявная конвертируемость зависит от отметки periods в durationстроке s. [ Note: Цель этой черты - указать, ведет ли данный класс как тип с плавающей запятой, и, таким образом, разрешает деление одного значения на другое с приемлемой потерей точности. Если treat_as_floating_point_v<Rep> есть false, Rep будет рассматриваться, как если бы он вел себя как интегральный тип для целей этих преобразований. ] — end note