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
関連項目
|
(C++20)
|
範囲のサイズに等しい整数を返す
(カスタマイゼーションポイントオブジェクト) |
|
(C++20)
|
範囲のサイズに等しい符号付き整数を返す
(カスタマイゼーションポイントオブジェクト) |