Namespaces
Variants

튜플-유사, 쌍-유사

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐기됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
스왑 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
template< class T >
concept tuple-like = /* see below */;
(1) (C++23부터)
(설명 전용*)
template< class T >
concept pair-like =
    tuple-like<T> && std::tuple_size_v<std::remove_cvref_t<T>> == 2;
(2) (C++23부터)
(설명 전용*)
1) 타입 T은 tuple-like 컨셉을 모델링하고 만족시킵니다. 이는 std::remove_cvref_t<T>가 다음의 특수화인 경우입니다:
  • std::array,
  • std::complex,
(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)
tuple 과 tuple-like 타입의 공통 타입을 결정함
(class template specialization)
(C++11)
임의의 개수의 튜플들을 연결하여 tuple 을 생성함
(function template)
(C++17)
튜플 인자들로 함수를 호출함
(function template)
튜플 인자들로 객체를 생성함
(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)