<utility>
定义C++标准库类型、函数和运算符,这些类型有助于构造和管理对象对,每当应将两个对象视为一个对象时,它们都很有用。
要求
标头:<utility>
命名空间:std
注解
对广泛用于 C++ 标准库中。 它们既需要作为各种函数的参数和返回值,又作为关联容器的元素类型(例如 map
和 multimap
)。
成员
类
类型 | 描述 |
---|---|
chars_format |
基元数值转换的浮点格式。 |
tuple_element |
包装的 pair 类型的元素。 |
tuple_size |
包装 pair 元素计数。 |
对象
模板 | 说明 |
---|---|
index_sequence |
为常见情况定义的别名模板,其中 T 为 std::size_t |
index_sequence_for |
用于将任何类型的参数包转换为相同长度的索引序列的帮助程序别名模板 |
make_index_sequence |
用于简化 std::index_sequence 类型创建的帮助程序别名模板。 |
make_integer_sequence |
用于简化 std::integer_sequence 类型创建的帮助程序别名模板。 |
函数
函数 | 说明 |
---|---|
as_const |
返回类型。 |
declval |
速记表达式计算。 |
exchange |
向对象赋予新值并返回其旧值。 |
forward |
保留参数的引用类型(lvalue 或 rvalue ),使其不被完美转发掩盖。 |
from_chars |
|
get |
一个从 pair 对象获取元素的函数。 |
make_pair |
一个模板帮助程序函数,用于构造类型 pair 的对象,其中组件类型基于作为参数传递的数据类型。 |
move |
将传入的参数作为 rvalue 引用返回。 |
move_if_noexcept |
|
swap |
交换两个 pair 对象的元素。 |
to_chars |
将值转换为字符串。 |
运算符
运算符 | 说明 |
---|---|
operator!= |
测试运算符左侧的对对象是否不等于右侧的对对象。 |
operator== |
测试运算符左侧和右侧的 pair 对象是否相等。 |
operator< |
测试运算符左侧的 pair 对象是否小于右侧的 pair 对象。 |
operator<= |
测试运算符左侧的 pair 对象是否小于或等于右侧的 pair 对象。 |
operator> |
测试运算符左侧的 pair 对象是否大于右侧的 pair 对象。 |
operator>= |
测试运算符左侧的 pair 对象是否大于或等于右侧的 pair 对象。 |
结构
结构 | 说明 |
---|---|
from_chars_result |
用于 from_chars 的结构。 |
identity |
一个将类型定义作为模板参数提供的结构。 |
in_place_t 、 in_place_type_t 、、 in_place_index_t |
指示如何就地创建对象。 |
integer_sequence |
表示整数序列。 |
pair |
一种类型,它提供了将两个对象视为单个对象的功能。 |
piecewise_construct_t |
用于保持独立的构造函数和函数重载的类型。 |
to_chars_result |
用于 to_chars 的结构。 |