std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::merge

来自cppreference.com
 
 
 
 
template< class H2, class P2 >
void merge( std::unordered_set<Key, H2, P2, Allocator>& source );
(1) (C++17 起)
template< class H2, class P2 >
void merge( std::unordered_set<Key, H2, P2, Allocator>&& source );
(2) (C++17 起)
template< class H2, class P2 >
void merge( std::unordered_multiset<Key, H2, P2, Allocator>& source );
(3) (C++17 起)
template< class H2, class P2 >
void merge( std::unordered_multiset<Key, H2, P2, Allocator>&& source );
(4) (C++17 起)

尝试提取(“接合”)source 中的每个元素,并用 *this 的散列函数与键相等谓词插入到 *this

不复制或移动元素,只会重指向容器结点的内部指针。指向被转移元素的所有指针和引用保持有效,但现在指代到 *this 中而非到 source 中。指代被转移元素的迭代器和所有指代到 *this 的迭代器均失效。

get_allocator() != source.get_allocator() 则行为未定义。

目录