Namespaces
Variants

std::ranges::take_view<V>:: size

From cppreference.net
Ranges library
Range adaptors
constexpr auto size ( ) requires ranges:: sized_range < V > ;
(1) (C++20以降)
constexpr auto size ( ) const requires ranges:: sized_range < const V > ;
(2) (C++20以降)

コンストラクタに渡されたカウントと基盤となるビューのサイズのうち、小さい方の要素数を返します。

base_ を基底ビューとし、 count_ を基底カウンタ(デフォルト構築時は 0 に等しい)とする。以下と等価:

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

目次

パラメータ

(なし)

戻り値

要素数。

#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';
}

出力:

0 1 2 3 3 3

関連項目

範囲のサイズに等しい整数を返す
(カスタマイゼーションポイントオブジェクト)
範囲のサイズに等しい符号付き整数を返す
(カスタマイゼーションポイントオブジェクト)