std::flat_multiset<Key,Compare,KeyContainer>::insert
来自cppreference.com
< cpp | container | flat multiset
iterator insert( const value_type& value ) |
(1) | (C++23 起) |
iterator insert( value_type&& value ); |
(2) | (C++23 起) |
iterator insert( const_iterator pos, const value_type& value ); |
(3) | (C++23 起) |
iterator insert( const_iterator pos, value_type&& value ); |
(4) | (C++23 起) |
template< class InputIt > void insert( InputIt first, InputIt last ); |
(5) | (C++23 起) |
template< class InputIt > void insert( std::sorted_equivalent_t, InputIt first, InputIt last ); |
(6) | (C++23 起) |
void insert( std::initializer_list<key_type> ilist ); |
(7) | (C++23 起) |
void insert( std::sorted_equivalent_t s, std::initializer_list<key_type> ilist ); |
(8) | (C++23 起) |
向容器插入元素。保持剩余等价元素的顺序。
1) 插入 value。如果容器包含带有等价键的元素,则插入到该范围的上界。等价于 return emplace(value);。
2) 插入 value。如果容器包含带有等价键的元素,则插入到该范围的上界。等价于 return emplace(std::move(value));。
3) 插入 value 到尽可能靠近紧接 pos 之前的位置。等价于 return emplace_hint(pos, value);。
4) 插入 value 到尽可能靠近紧接 pos 之前的位置。等价于 return emplace_hint(pos, std::move(value));。
5) 如同依次实施下列操作来插入范围
[
first,
last)
中的元素:
原位合并阶段中可能会分配内存。
6) 插入范围
[
first,
last)
中的元素。等价于 insert(first, last);。7) 插入初始化式列表 ilist 中的元素。等价于 insert(ilist.begin(), ilist.end());。
8) 插入初始化式列表 ilist 中的元素。等价于 insert(s, ilist.begin(), ilist.end());。
迭代器失效上的信息复制自此处 |
参数
pos | - | 指向要在它之前插入新元素的位置的迭代器 |
value | - | 要插入的元素值 |
first, last | - | 要插入的元素范围 |
ilist | - | 要插入其中的值的初始化式列表 |
s | - | 消歧标签,指定输入序列(根据 key_compare )有序
|
类型要求 | ||
-InputIt 必须满足老式输入迭代器 (LegacyInputIterator) 。
|
返回值
1-4) 指向所插入元素的迭代器。
5-8) (无)
异常
1-4) 取决于底层容器。
5-8) 无异常安全保证。
本节未完成 原因:异常保证: 1..8 |
复杂度
1-4) 线性。
6) 线性。
8) 线性。
本节未完成 原因:再查一下复杂度: 1-4, 8 |
示例
本节未完成 原因:暂无示例 |
参阅
原位构造元素 (公开成员函数) | |
使用提示原位构造元素 (公开成员函数) | |
创建拥有从实参推出的类型的 std::insert_iterator (函数模板) |