Namespaces
Variants

std::char_traits<char>:: assign, std::char_traits<wchar_t>:: assign, std::char_traits<char8_t>:: assign, std::char_traits<char16_t>:: assign, std::char_traits<char32_t>:: assign

From cppreference.net
static void assign ( char_type & c1, const char_type & c2 ) ;
(1) (noexcept начиная с C++11)
(constexpr начиная с C++17)
static char_type * assign ( char_type * ptr, std:: size_t count, char_type c2 ) ;
(2) (constexpr начиная с C++20)
1) Присваивает c2 в c1 , ведёт себя идентично c1 = c2 .
2) Присваивает c2 каждому символу в count символах в последовательности символов, на которую указывает ptr .

См. CharTraits для общих требований к характеристикам символов для X::assign .

Параметры

c1 - символ для присваивания
c2 - символьное значение для присваивания
ptr - указатель на символьную последовательность для присваивания
count - длина символьной последовательности

Возвращаемое значение

1) (нет)
2) ptr

Сложность

1) Константа.
2) Линейная по count .