FreeBSD Manual Pages
std::basic_string::swap(3) C++ Standard Libary std::basic_string::swap(3) NAME std::basic_string::swap - std::basic_string::swap Synopsis void swap( basic_string& other ); (until C++17) void swap( basic_string& other ) noexcept(/* see below */); (since C++17) (const- expr since C++20) Exchanges the contents of the string with those of other. All itera- tors and references may be invalidated. The behavior is undefined if Allocator does not propagate on swap and (since C++11) the allocators of *this and other are unequal. Parameters other - string to exchange the contents with Return value (none) Complexity Constant. Exceptions No exception is thrown. (until C++11) Exceptions can only be thrown in the case where the behavior is undefined (see above). (since C++11) If an exception is thrown for any reason, this function has no ef- fect (strong exception safety guarantee). noexcept specification: noexcept(std::allocator_traits<Allocator>::propagate_on_con- tainer_swap::value (since || C++17) std::allocator_traits<Allocator>::is_always_equal::value) Example // Run this code #include <iostream> #include <string> int main() { std::string a = "AAA"; std::string b = "BBBB"; std::cout << "Before swap:\n" "a = " << a << "\n" "b = " << b << "\n\n"; a.swap(b); std::cout << "After swap:\n" "a = " << a << "\n" "b = " << b << '\n'; } Output: Before swap: a = AAA b = BBBB After swap: a = BBBB b = AAA Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Cor- rect behavior LWG 403 C++98 swap() might throw an exception no excep- tion is thrown LWG 535 C++98 swapping strings did not preserve the orders are also preserved character orders See also swap swaps the values of two objects (function template) swap_ranges swaps two ranges of elements (function template) swap swaps the contents (public member function of std::ba- sic_string_view<CharT,Traits>) Category: * conditionally noexcept http://cppreference.com 2024.06.10 std::basic_string::swap(3)
NAME | Synopsis | Parameters | Return value | Complexity | Exceptions | Example | Output: | See also | Category:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::string::swap&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
