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

NAME
     std::ranges::adjacent_transform_view::size  -  std::ranges::adjacent_trans-
     form_view::size

Synopsis
	constexpr   auto   size()    requires	 ranges::sized_range<InnerView>;
     (since C++23)
	constexpr   auto   size()   const   requires   ranges::sized_range<const
     (since C++23)
	InnerView>;

	Returns the number of elements.

	Let inner_ be the underlying object of type InnerView (that is the
	ranges::adjacent_view<V,N>).

	1,2) Equivalent to return inner_.size();.

Parameters
	(none)

Return value
	The number of elements, may be 0 if the size of the underlying view V is
     less than
	N.

Example
     // Run this code

      #include <ranges>

      int main()
      {
	  constexpr static auto v = {1, 2, 3, 4, 5, 6};

	  auto f = [](auto...) { return 0; }; // dummy

	  constexpr int width1 {4};
	  constexpr auto view1 = v | std::views::adjacent_transform<width1>(f);
	  static_assert(view1.size() == 3);
	  static_assert(view1.size() == (v.size() - width1 + 1));

	  constexpr int width2 {8};
	  constexpr auto view2 = v | std::views::adjacent_transform<width2>(f);
	  // window is too wide, so view2 has no elements:
	  static_assert(view2.size() == 0);
      }

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