Scroll to navigation

std::ranges::take_view::size(3) C++ Standard Libary std::ranges::take_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)

2024.06.10 http://cppreference.com