std::char_traits<char>::move, std::char_traits<wchar_t>::move, std::char_traits<char8_t>::move, std::char_traits<char16_t>::move, std::char_traits<char32_t>::move
From cppreference.com
< cpp | string | char traits
static char_type* move( char_type* dest, const char_type* src, std::size_t count ); |
(constexpr since C++20) | |
Copies count characters from the character string pointed to by src to the character string pointed to by dest.
Performs correctly even if the ranges [
src,
src + count)
and [
dest,
dest + count)
overlap.
See CharTraits for the general requirements on character traits for X::move
.
Parameters
dest | - | pointer to a character string to copy to |
src | - | pointer to a character string to copy from |
count | - | the number of characters to copy |
Return value
dest
Exceptions
Throws nothing.
Complexity
Linear in count.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 7 | C++98 | the copy was guaranteed to perform correctly if src is in [ dest, dest + count) , but not the otherway round (i.e. dest is in [ src, src + count) )
|
also guaranteed |