# std::ranges::common_view<V>::size

< cpp‎ | ranges‎ | common view

constexpr auto size() requires ranges::sized_range<V>; | (1) | (C++20 起)
constexpr auto size() const requires ranges::sized_range<const V>; | (2) | (C++20 起)

返回元素数。

等价于 { return ranges::size(base_); } ，其中 `base_` 为底层视图。

### 参数

（无）

### 返回值

元素数。

### 示例

    #include <ranges>
    #include <string_view>

    int main()
    {
        constexpr static auto v1 = {1, 2, 3, 4, 5};
        constexpr auto common1 { v1 | std::views::common };
        static_assert(common1.size() == 5);

        constexpr auto take3 { v1 | std::views::reverse | std::views::take(3) };
        constexpr auto common2 { take3 | std::views::common };
        static_assert(common2.size() == 3);

        using namespace std::literals;
        constexpr static auto v2 = { "∧"sv, "∨"sv, "∃"sv, "∀"sv };
        static_assert(std::ranges::views::common(v2).size() == 4);
    }

### 参阅

ranges::size (C++20) | 返回等于范围大小的整数 (定制点对象)
ranges::ssize (C++20) | 返回等于范围大小的有符号整数 (定制点对象)