Namespaces
Variants

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

ja.cppreference.net より
 
 
範囲ライブラリ
範囲アダプタ
 
 
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

関連項目

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