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 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
static char_type*
move( char_type* dest, const char_type* src, std::size_t count );
 
 (constexpr since C++20) 
move( char_type* dest, const char_type* src, std::size_t count );
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.
[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
dest
[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 [dest, dest + count), but not the otherway round (i.e. dest is in [src, src + count)) | also guaranteed |