tuple-like, pair-like
From cppreference.com
                    
                                        
                    
                    
                                                            
                    template< class T > concept tuple-like = /* see below */;  | 
(1) | (since C++23)  (exposition only*)  | 
template< class T > concept pair-like =  | 
(2) | (since C++23)  (exposition only*)  | 
1) A type 
T models and satisfies the concept tuple-like if std::remove_cvref_t<T> is a specialization of
| (since C++26) | 
2) 
pair-like objects are tuple-like objects with exactly 2 elements.Notes
tuple-like types implement the tuple protocol, i.e., such types can be used with std::get, std::tuple_element and std::tuple_size.
Elements of tuple-like types can be bound with structured binding.
See also
tuple-like and pair-like are used in the following standard library components:
  constructs a new tuple (public member function)  | |
  assigns the contents of one tuple to another (public member function)  | |
|    (removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)  | 
  lexicographically compares the values in the tuple  (function template)  | 
  determines the common reference type of a tuple and a tuple-like type (class template specialization)  | |
|    (C++23)  | 
  determines the common type of a tuple and a tuple-like type (class template specialization)  | 
|    (C++11)  | 
  creates a tuple by concatenating any number of tuples (function template)  | 
|    (C++17)  | 
  calls a function with a tuple of arguments  (function template)  | 
|    (C++17)  | 
  construct an object with a tuple of arguments  (function template)  | 
  constructs new pair (public member function of std::pair<T1,T2>)  | |
|   assigns the contents  (public member function of std::pair<T1,T2>)  | |
  converts the subrange to a pair-like type (public member function of std::ranges::subrange<I,S,K>)  | |
 takes a view consisting of tuple-like values and a number N and produces a view of Nth element of each tuple(class template) (range adaptor object)  |