std::ranges:: views:: empty, std::ranges:: empty_view
|
헤더 파일에 정의됨
<ranges>
|
||
|
template
<
class
T
>
requires
std::
is_object_v
<
T
>
|
(1) | (C++20부터) |
|
namespace
views
{
template
<
class
T
>
|
(2) | (C++20부터) |
view
를 생성하는 범위 팩토리.
empty_view
를 위한 변수 템플릿.
목차 |
멤버 함수
|
begin
[static]
|
nullptr를 반환
nullptr
(public static member function) |
|
end
[static]
|
nullptr를 반환
nullptr
(public static member function) |
|
data
[static]
|
nullptr를 반환
nullptr
(public static member function) |
|
size
[static]
|
0을 반환
0
(public static member function) |
|
empty
[static]
|
true를 반환
true
(public static member function) |
다음으로부터 상속됨: std::ranges::view_interface |
|
|
(C++23)
|
범위의 시작을 가리키는 상수 반복자를 반환
(
std::ranges::view_interface<D>
의 public member function)
|
|
(C++23)
|
범위의 상수 반복자에 대한 sentinel을 반환
(
std::ranges::view_interface<D>
의 public member function)
|
|
파생된 뷰가 비어 있지 않은지 여부를 반환하며,
ranges::empty
가 적용 가능한 경우에만 제공됨
(
std::ranges::view_interface<D>
의 public member function)
|
|
파생된 뷰의 첫 번째 요소를 반환하며,
forward_range
를 만족하는 경우에 제공됨
(
std::ranges::view_interface<D>
의 public member function)
|
|
파생된 뷰의 마지막 요소를 반환하며,
bidirectional_range
와
common_range
를 모두 만족하는 경우에만 제공됨
(
std::ranges::view_interface<D>
의 public member function)
|
|
파생된 뷰의
n
번째
요소를 반환하며,
random_access_range
를 만족하는 경우에만 제공됨
(
std::ranges::view_interface<D>
의 public member function)
|
|
std::ranges::empty_view:: begin
|
static
constexpr
T
*
begin
(
)
noexcept
{
return
nullptr
;
}
|
(C++20 이후) | |
empty_view
는 어떤 요소도 참조하지 않습니다.
std::ranges::empty_view:: end
|
static
constexpr
T
*
end
(
)
noexcept
{
return
nullptr
;
}
|
(C++20 이후) | |
empty_view
는 어떤 요소도 참조하지 않습니다.
std::ranges::empty_view:: data
|
static
constexpr
T
*
data
(
)
noexcept
{
return
nullptr
;
}
|
(C++20 이후) | |
empty_view
는 어떠한 요소도 참조하지 않습니다.
std::ranges::empty_view:: size
|
static
constexpr
std::
size_t
size
(
)
noexcept
{
return
0
;
}
|
(C++20부터) | |
empty_view
는 항상 비어 있습니다.
std::ranges::empty_view:: empty
|
static
constexpr
bool
empty
(
)
noexcept
{
return
true
;
}
|
(C++20 이후) | |
empty_view
는 항상 비어 있습니다.
헬퍼 템플릿
|
template
<
class
T
>
constexpr bool ranges:: enable_borrowed_range < ranges :: empty_view < T >> = true ; |
(C++20 이후) | |
이 특수화는
ranges::
enable_borrowed_range
가
empty_view
가
borrowed_range
를 만족하도록 합니다.
참고 사항
비록
empty_view
가
view_interface
로부터
front
,
back
, 그리고
operator
[
]
멤버 함수들을 획득하지만, 이들에 대한 호출은 항상 미정의 동작을 초래합니다. 왜냐하면
empty_view
는 항상 비어 있기 때문입니다.
상속된 operator bool 변환 함수는 항상 false 를 반환합니다.
예제
#include <ranges> int main() { namespace ranges = std::ranges; ranges::empty_view<long> e; static_assert(ranges::empty(e)); // operator bool 사용 static_assert(0 == e.size()); static_assert(nullptr == e.data()); static_assert(nullptr == e.begin()); static_assert(nullptr == e.end()); static_assert(nullptr == e.cbegin()); static_assert(nullptr == e.cend()); }
참고 항목
|
(C++17)
|
객체를 보유할 수도 있고 보유하지 않을 수도 있는 래퍼
(클래스 템플릿) |
지정된 값의 단일 요소를 포함하는
view
(클래스 템플릿) (커스터마이제이션 포인트 객체) |
|
|
(C++20)
|
range
의 모든 요소를 포함하는
view
(앨리어스 템플릿) (레인지 어댑터 객체) |
|
(C++20)
|
다른
range
의 요소들로 구성된
view
(클래스 템플릿) |