tuple-like , pair-like
From cppreference.net
|
template
<
class
T
>
concept tuple-like = /* see below */ ; |
(1) |
(C++23부터)
( 설명 전용* ) |
|
template
<
class
T
>
concept pair-like
=
|
(2) |
(C++23부터)
( 설명 전용* ) |
1)
타입
T
가 다음을 만족하고 개념
tuple-like
을 모델링하는 경우:
std::
remove_cvref_t
<
T
>
가 다음 중 하나의 특수화인 경우:
| (C++26부터) |
- std::pair ,
- std::tuple , 또는
- std::ranges::subrange .
2)
pair-like
객체는 정확히 2개의 요소를 가진
tuple-like
객체입니다.
참고 사항
tuple-like
타입은
tuple 프로토콜
을 구현합니다. 즉, 이러한 타입들은
std::get
,
std::tuple_element
및
std::tuple_size
와 함께 사용될 수 있습니다.
tuple-like
타입의 요소들은
구조화된 바인딩
으로 바인딩될 수 있습니다.
참고 항목
tuple-like
및
pair-like
는 다음 표준 라이브러리 구성 요소에서 사용됩니다:
새로운
tuple
을 생성함
(public member function) |
|
한
tuple
의 내용을 다른
tuple
에 할당함
(public member function) |
|
|
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20)
|
튜플의 값을 사전식 순서로 비교함
(function template) |
tuple
과
tuple-like
타입의 공통 참조 타입을 결정함
(class template specialization) |
|
|
(C++23)
|
tuple
과
tuple-like
타입의 공통 타입을 결정함
(class template specialization) |
|
(C++11)
|
임의의 개수의 튜플들을 연결하여
tuple
을 생성함
(function template) |
|
(C++17)
|
튜플 인자들로 함수를 호출함
(function template) |
|
(C++17)
|
튜플 인자들로 객체를 생성함
(function template) |
새로운
pair
를 생성함
(
std::pair<T1,T2>
의 public member function)
|
|
|
내용을 할당함
(
std::pair<T1,T2>
의 public member function)
|
|
subrange
를
pair-like
타입으로 변환함
(
std::ranges::subrange<I,S,K>
의 public member function)
|
|
tuple-like
값들로 구성된
view
와 숫자 N을 취해 각 튜플의 N
번째
요소들의
view
를 생성함
(class template) (range adaptor object) |