C++ 参考手册
- C++11
 - C++14
 - C++17
 - C++20
 - C++ 编译器支持情况表
 - 独立与宿主实现
 - C++ 语言
 - C++ 关键词
 - 预处理器
 - C++ 标准库头文件
 - 具名要求
 - 功能特性测试 (C++20)
 - 工具库
 - std::apply
 - 库特性测试宏 (C++20)
 - 程序支持工具
 - std::initializer_list
 - 函数对象
 - std::hash
 - std::pair
 - std::tuple
 - std::optional
 - std::any
 - std::variant
 - 格式化库 (C++20)
 - std::integer_sequence
 - std::exchange
 - std::make_from_tuple
 - std::launder
 - std::to_chars
 - std::from_chars
 - std::as_const
 - std::source_location
 - 变参数函数
 - std::bitset
 - std::cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal, cmp_greater_equal
 - std::in_range
 - std::declval
 - std::forward
 - std::move
 - std::move_if_noexcept
 - std::chars_format
 - std::piecewise_construct_t
 - std::piecewise_construct
 - std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t
 - 注释
 - 类型支持(基本类型、RTTI、类型特性)
 - 概念库 (C++20)
 - 错误处理
 - 动态内存管理
 - 日期和时间工具
 - 字符串库
 - 容器库
 - 迭代器库
 - 范围库 (C++20)
 - 算法库
 - 数值库
 - 输入/输出库
 - 文件系统库
 - 本地化库
 - 正则表达式库
 - 原子操作库
 - 线程支持库
 - 实验性 C++ 特性
 - 有用的资源
 - 索引
 - std 符号索引
 - 协程支持 (C++20)
 - C++ 关键词
 
std::in_range
若 t 的值在能以 R 表示的值的范围内,即 t 能转换到 R 而无数据损失则为 true 。
若 T 或 R 不是有符号或无符号整数类型(包括标准整数类型与扩展整数类型),则为编译时错误。
目录 | 
参数
| t | - | 要测试的值 | 
返回值
若 t 的值可以 R 表示则为 true ,否则为 false 。
可能的实现
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()); }  | 
注解
此函数不能用于 std::byte 、 char 、 char8_t 、 char16_t 、 char32_t 、 wchar_t 及 bool 。
示例
运行此代码
#include <utility> #include <iostream> #include <iomanip> 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'; }
输出:
false true