table of contents
        
      
      
    | std::basic_string::assign_range(3) | C++ Standard Libary | std::basic_string::assign_range(3) | 
NAME¶
std::basic_string::assign_range - std::basic_string::assign_range
Synopsis¶
 template< container-compatible-range<CharT> R >
    (since C++23)
  
   constexpr std::basic_string& assign_range( R&& rg );
  
   Replaces the contents of the string with the values in the range rg.
  
   Equivalent to
  
   return assign(
  
   std::basic_string(
  
   std::from_range,
  
   std::forward<R>(rg),
  
   get_allocator())
  
   );
Parameters¶
rg - a container compatible range
Return value¶
*this
Complexity¶
Linear in size of rg.
Exceptions¶
If the operation would result in size() > max_size(), throws std::length_error.
  
   If an exception is thrown for any reason, this function has no effect (strong
  
   exception safety guarantee).
Notes¶
 Feature-test macro Value Std Feature
  
   __cpp_lib_containers_ranges 202202L (C++23) member functions that accept
    container
  
   compatible range
Example¶
// Run this code
  
   #include <cassert>
  
   #include <string>
  
   int main()
  
   {
  
   const auto source = {'s', 'o', 'u', 'r', 'c', 'e'};
  
   std::string destination{"destination"};
  
   #ifdef __cpp_lib_containers_ranges
  
   destination.assign_range(source);
  
   #else
  
   destination.assign(source.begin(), source.end());
  
   #endif
  
   assert(destination == "source");
  
   }
See also¶
 assign assign characters to a string
  
   (public member function)
  
   operator= assigns values to the string
  
   (public member function)
  
   constructor constructs a basic_string
  
   (public member function)
| 2024.06.10 | http://cppreference.com |