Какова цель std :: to_integer?

Насколько я знаю, std::to_integer<T> эквивалентно T(value), где value - это переменная, имеющая тип std::byte.
Я рассмотрел некоторые реализации основных компиляторов и обнаружил, что в этом случае эквивалент означает буквально , реализованный как . Другими словами, в большинстве случаев to_integer фактически реализовано так:

return T(value);

И это все.

Что я не понимаю, какова цель такой функции?
Как ни странно, минусы - это даже больше, чем плюсы. Я должен включить целый заголовок для такой функции только для того, чтобы избежать C-подобного преобразования, которое, скорее всего, в любом случае будет напрямую встроено.

Есть ли какая-то другая причина для этого, или это просто симпатичная альтернатива для C-подобного броска и ничего более?

8
задан skypjack 22 June 2019 в 22:10
поделиться