Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 1.18 KB

File metadata and controls

59 lines (47 loc) · 1.18 KB

size

  • ranges[meta header]
  • std::ranges[meta namespace]
  • drop_view[meta class]
  • function[meta id-type]
  • cpp20[meta cpp]
constexpr auto size()
  requires sized_range<V>;       // (1) C++20

constexpr auto size() const
  requires sized_range<const V>; // (2) C++20

概要

要素数を取得する。

効果

入力viewV)のオブジェクトをbase_、除去する要素数をcount_というメンバに保持するとして、以下と等価:

auto n = ranges::size(base_);
auto c = static_cast<decltype(n)>(count_);
return n - min(n, c);
  • min[link /reference/algorithm/min.md]

#include <ranges>
#include <vector>
#include <iostream>

int main() {
  std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  std::ranges::drop_view r{vec, 5};

  std::size_t n = r.size();
  std::cout << n << std::endl;
}
  • size[color ff0000]

出力

5

バージョン

言語

  • C++20

処理系

  • Clang: 13.0.0 [mark verified]
  • GCC: 10.1.0 [mark verified]
  • ICC: ?
  • Visual C++: 2019 Update 10 [mark verified]