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