FreeBSD Manual Pages
std::in_range(3) C++ Standard Libary std::in_range(3) NAME std::in_range - std::in_range Synopsis Defined in header <utility> template< class R, class T > (since C++20) constexpr bool in_range( T t ) noexcept; Returns true if the value of t is in the range of values that can be represented in R, that is, if t can be converted to R without data loss. It is a compile-time error if either T or R is not a signed or un- signed integer type (including standard integer type and extended integer type). Parameters t - value to test Return value true if the value of t is representable in R, false otherwise. Possible implementation template< class R, class T > constexpr bool in_range( T t ) noexcept { return std::cmp_greater_equal(t, std::numeric_limits<R>::min()) && std::cmp_less_equal(t, std::numeric_limits<R>::max()); } Notes This function cannot be used with enums (including std::byte), char, char8_t, char16_t, char32_t, wchar_t and bool. Feature-test macro: __cpp_lib_integer_comparison_functions Example // Run this code #include <utility> #include <iostream> int main() { std::cout << std::boolalpha; std::cout << std::in_range<std::size_t>(-1) << '\n'; std::cout << std::in_range<std::size_t>(42) << '\n'; } Output: false true See also ranges::min returns the smaller of the given values (C++20) (niebloid) ranges::max returns the greater of the given values (C++20) (niebloid) ranges::clamp clamps a value between a pair of boundary values (C++20) (niebloid) lerp linear interpolation function (C++20) (function) http://cppreference.com 2022.07.31 std::in_range(3)
NAME | Synopsis | Parameters | Return value | Possible implementation | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::in_range&sektion=3&manpath=FreeBSD+Ports+15.0>
