home | help
std::ranges..._view::size(3)   C++ Standard Libary  std::ranges..._view::size(3)

NAME
     std::ranges::take_view::size - std::ranges::take_view::size

Synopsis
	constexpr  auto  size() requires ranges::sized_range<V>;	     (1)
     (since C++20)
	constexpr auto size() const requires ranges::sized_range<const	V>;  (2)
     (since C++20)

	Returns the number of elements, which is the smaller of the count passed
     to the
	constructor and the size of the underlying view.

	Let  base_  be	the  underlying view, count_ be the number passed to the
     constructor (0
	if default constructed). Equivalent to

      auto n = ranges::size(base_);
      return ranges::min(n, static_cast<decltype(n)>(count_));

Parameters
	(none)

Return value
	The number of elements.

Example
     // Run this code

      #include <iostream>
      #include <ranges>

      int main()
      {
	  constexpr int arr[]{1, 2, 3};

	  for (int i = 0; i != 6; ++i)
	  {
	      const auto tv = std::ranges::take_view{arr, i};
	      std::cout << tv.size() << ' ';
	  }
	  std::cout << '\n';
      }

Output:
      0 1 2 3 3 3

See also
	ranges::size  returns an integer equal to the size of a range
	(C++20)       (customization point object)
	ranges::ssize returns a signed integer equal to the size of a range
	(C++20)       (customization point object)

http://cppreference.com 	   2024.06.10	    std::ranges..._view::size(3)

home | help