join_view
클래스(C++ 표준 라이브러리)
범위의 요소를 단일 보기로 결합합니다.
구문
template<input_range R> requires view<R> && input_range<range_reference_t<R>> &&
(is_reference_v<range_reference_t<R>> || view<range_value_t<R>>)
class join_view : public view_interface<join_view<R>>;
템플릿 매개 변수
R
기본 범위의 형식입니다. 만족 input_range
하거나 그 이상이어야 합니다.
특성 보기
다음 항목에 대한 설명은 클래스 특성 보기를 참조 하세요.
특성 | 설명 |
---|---|
범위 어댑터 | views::join |
기본 범위 | 만족 input_range 하거나 그 이상이어야 합니다. |
요소 형식 | 기본 범위와 동일 |
반복기 범주 보기 | input_range bidirectional_range 반복되는 기본 범위에 따라 최대 |
크기 | 아니요 |
반복 const 가능 |
기본 범위를 const 반복할 수 있는 경우에만 |
공통 범위 | 기본 범위가 충족되는 경우에만 common_range |
빌린 범위 | 아니요 |
멤버
멤버 함수 | 설명 |
---|---|
생성자C++20 | 를 생성합니다 join_view . |
base C++20 |
기본 범위에 대한 참조를 가져옵니다. |
begin C++20 |
첫 번째 요소에 대한 반복기를 가져옵니다. |
end C++20 |
보기의 끝에 있는 sentinel을 가져옵니다. |
에서 상속됨 view_interface |
설명 |
back C++20 |
마지막 요소를 가져옵니다. |
empty C++20 |
보기가 비어 있는지 테스트합니다. |
front C++20 |
첫 번째 요소를 가져옵니다. |
operator bool C++20 |
보기가 비어 있지 않은지 테스트합니다. |
설명
범위를 만드는 join_view
가장 좋은 방법은 범위 어댑터를 사용하는 views::join
것입니다. 범위 어댑터는 뷰 클래스에 액세스하기 위한 방법입니다. 사용자 고유의 사용자 지정 보기 형식을 만들려는 경우 보기 형식이 노출됩니다.
이 보기는 여러 범위를 단일 보기로 결합하려는 경우에 유용합니다.
요구 사항
헤더: <ranges>
(C++20 이후)
네임스페이스: std::ranges
컴파일러 옵션: /std:c++20
이상이 필요합니다.
생성자
join_view
의 인스턴스를 만듭니다.
1) join_view() = default;
2) constexpr explicit join_view(R base)
매개 변수
base
기본 범위입니다.
템플릿 매개 변수 형식에 대한 자세한 내용은 템플릿 매개 변수를 참조 하세요.
설명
1) Default-constructs a .join_view
2) frombase
을 join_view
생성합니다.
예: join_view
// requires /std:c++20, or later
#include <iostream>
#include <vector>
#include <ranges>
int main()
{
std::vector<int> rg1{1, 2, 3, 4};
std::vector<int> rg2{5, 6, 7};
std::vector<int> rg3{8, 9, 10, 11, 12, 13};
std::vector<int> rangeOfRanges[] {rg1, rg2, rg3};
auto jv = std::ranges::join_view(rangeOfRanges);
for (auto& e : jv)
{
std::cout << e << " ";
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13
base
기본 보기를 가져옵니다.
// Uses a copy constructor to return the underlying view
1) constexpr V base() const& requires std::copy_constructible<V>;
// Uses a move constructor to return the underlying view
2) constexpr V base() &&;
매개 변수
없음.
반환 값
- 반환된 뷰는 복사 생성됩니다.
- 반환된 뷰는 이동 생성됩니다.
begin
뷰의 첫 번째 요소에 대한 반복기를 가져옵니다.
constexpr auto begin();
constexpr auto begin() const
requires ranges::input_range<const V> && std::is_reference_v<ranges::range_reference_t<const V>>;
매개 변수
없음.
반환 값
뷰의 첫 번째 요소를 가리키는 반복기:
end
보기의 끝에 있는 sentinel을 가져옵니다.
constexpr sentinel_t<R> end();
constexpr auto end() const requires range<const R>
매개 변수
없음.
반환 값
뷰의 마지막 요소를 따르는 sentinel입니다.