tuple-like , pair-like
|
template
<
class
T
>
concept tuple - like = /* ver más abajo */ ; |
(1) |
(desde C++23)
( solo para exposición* ) |
|
template
<
class
T
>
concept pair
-
like
=
|
(2) |
(desde C++23)
( solo para exposición* ) |
T
modela y satisface el concepto
tuple-like
si
std::
remove_cvref_t
<
T
>
es una especialización de
| (desde C++26) |
- std::pair ,
- std::tuple , o
- std::ranges::subrange .
pair-like
objetos son
tuple-like
objetos con exactamente 2 elementos.
Notas
tuple-like
tipos implementan el
protocolo de tupla
, es decir, tales tipos pueden utilizarse con
std::get
,
std::tuple_element
y
std::tuple_size
.
Los elementos de los tipos
tuple-like
pueden vincularse con
enlace estructurado
.
Véase también
tuple-like
y
pair-like
se utilizan en los siguientes componentes de la biblioteca estándar:
construye un nuevo
tuple
(función miembro pública) |
|
asigna el contenido de un
tuple
a otro
(función miembro pública) |
|
|
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(C++20)
|
compara lexicográficamente los valores en el tuple
(plantilla de función) |
determina el tipo de referencia común de un
tuple
y un tipo
tuple-like
(especialización de plantilla de clase) |
|
|
(C++23)
|
determina el tipo común de un
tuple
y un tipo
tuple-like
(especialización de plantilla de clase) |
|
(C++11)
|
crea un
tuple
concatenando cualquier número de tuples
(plantilla de función) |
|
(C++17)
|
llama a una función con un tuple de argumentos
(plantilla de función) |
|
(C++17)
|
construye un objeto con un tuple de argumentos
(plantilla de función) |
construye un nuevo
pair
(función miembro pública de
std::pair<T1,T2>
)
|
|
|
asigna el contenido
(función miembro pública de
std::pair<T1,T2>
)
|
|
convierte el
subrange
a un tipo
pair-like
(función miembro pública de
std::ranges::subrange<I,S,K>
)
|
|
toma una
view
que consiste en valores
tuple-like
y un número N y produce una
view
del N
ésimo
elemento de cada tuple
(plantilla de clase) (objeto adaptador de rango) |