treat_as_floating_point
structure
Checks whether the specified type can be treated as a floating-point type.
Syntax
template <class T>
struct treat_as_floating_point : is_floating_point<T>;
Helper variable template
template<class T>
inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<T>::value;
Parameters
T
The type to test.
Remarks
The purpose of this trait is to indicate whether a given class behaves like a floating-point type, and thus allows division of one value by another with acceptable loss of precision. If treat_as_floating_point_v<T>
is false, T
will be treated as if it behaves as an integral type for these conversions.
The duration
template uses the treat_as_floating_point trait
to help determine if a duration
object
can be converted to another duration
with a different tick period
.
If treat_as_floating_point_v<T>
is true, implicit conversions are allowed between durations. Otherwise, the implicit convertibility depends on the tick periods of the durations.
Requirements
Header: <chrono>
Namespace: std::chrono