22 Containers library [containers]

22.2 Container requirements [container.requirements]

22.2.4 Node handles [container.node]

22.2.4.5 Modifiers [container.node.modifiers]

void swap(node-handle& nh) noexcept(ator_traits::propagate_on_container_swap::value || ator_traits::is_always_equal::value);
Preconditions: !alloc_­, or !nh.alloc_­, or ator_­traits​::​propagate_­on_­container_­swap​::​value is true, or alloc_­ == nh.alloc_­.
Effects: Calls swap(ptr_­, nh.ptr_­).
If !alloc_­, or !nh.alloc_­, or ator_­traits​::​propagate_­on_­container_­swap​::​value is true calls swap(alloc_­, nh.alloc_­).