[container.node] (original) (raw)

A node handle is an object that accepts ownership of a single element from an associative container ([associative.reqmts]) or an unordered associative container ([unord.req]).

It may be used to transfer that ownership to another container with compatible nodes.

Containers with compatible nodes have the same node handle type.

Elements may be transferred in either direction between container types in the same row of Table 73.

Table 73 — Container types with compatible nodes [tab:container.node.compat]

🔗map<K, T, C1, A> map<K, T, C2, A>
🔗map<K, T, C1, A> multimap<K, T, C2, A>
🔗set<K, C1, A> set<K, C2, A>
🔗set<K, C1, A> multiset<K, C2, A>
🔗unordered_map<K, T, H1, E1, A> unordered_map<K, T, H2, E2, A>
🔗unordered_map<K, T, H1, E1, A> unordered_multimap<K, T, H2, E2, A>
🔗unordered_set<K, H1, E1, A> unordered_set<K, H2, E2, A>
🔗unordered_set<K, H1, E1, A> unordered_multiset<K, H2, E2, A>