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

< 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 [srcsrc + count) and [destdest + count) overlap.

See CharTraits for the general requirements on character traits for X::move.


[edit] 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

[edit] Return value


[edit] Exceptions

Throws nothing.

[edit] Complexity

Linear in count.

[edit] 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 [destdest + count), but not the other
way round (i.e. dest is in [srcsrc + count))
also guaranteed