std::flat_multiset<Key,Compare,KeyContainer>::insert
来自 cppreference.cn
< cpp | 容器 | 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 (函数模板) |