std::flat_multiset<Key,Compare,KeyContainer>::insert
來自 cppreference.com
< 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 (函式模板) |