home | help
std::ranges...t_view::base(3)  C++ Standard Libary std::ranges...t_view::base(3)

NAME
     std::ranges::split_view::base - std::ranges::split_view::base

Synopsis
	constexpr  V  base()  const&  requires	std::copy_constructible<V>;  (1)
     (since C++20)
	constexpr  V  base()   &&;					     (2)
     (since C++20)

	Returns a copy of the underlying view base_.

	1) Copy constructs the result from the underlying view.
	2) Move constructs the result from the underlying view.

Parameters
	(none)

Return value
	1) A copy of the underlying view.
	2) A view move-constructed from the underlying view.

Example
     // Run this code

      #include <iomanip>
      #include <iostream>
      #include <ranges>
      #include <string_view>

      int main()
      {
	  constexpr  std::string_view  keywords{"this  throw  true  try  typedef
     typeid"};
	  std::ranges::split_view split_view{keywords, ' '};
	  std::cout << "base() = " << std::quoted(split_view.base()) << "\n"
		       "substrings: ";
	  for (auto split : split_view)
	      std::cout << std::quoted(std::string_view{split}) << ' ';
	  std::cout << '\n';
      }

Output:
      base() = "this throw true try typedef typeid"
      substrings: "this" "throw" "true" "try" "typedef" "typeid"

	Defect reports

	The following behavior-changing defect	reports  were  applied	retroac-
     tively to
	previously published C++ standards.

	   DR	  Applied  to		 Behavior as published		    Cor-
     rect behavior
	LWG 3590 C++20	    the const& overload  additionally  required     con-
     straints relaxed
			    validity of copy-assignment

See also
	base	returns a copy of the underlying (adapted) view
	(C++20)  (public  member function of std::ranges::lazy_split_view<V,Pat-
     tern>)

http://cppreference.com 	   2024.06.10	   std::ranges...t_view::base(3)

home | help