# 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 other way round (i.e. dest is in `[`src`,` src + count`)`) | also guaranteed

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/char_traits/move&oldid=158858"