Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::basic_...assign_range(3) C++ Standard Libarystd::basic_...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  ef-
       fect (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)

http://cppreference.com		  2024.06.10	 std::basic_...assign_range(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::basic_string::assign_range&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help