#pragma once #include "detail/to_ordered_integral_impl.hpp" struct to_ordered_integral_fn { template constexpr auto operator()(Arithmetic value) const { static_assert(std::is_integral_v || std::numeric_limits::is_iec559, "Input type is not integral or floating point, nor satisfying IEEE 754 standard."); return detail::to_ordered_integral_impl(value); } }; static constexpr auto to_ordered_integral = to_ordered_integral_fn{};