std:: extents, std:: dextents, std:: dims
From cppreference.net
|
Definido en el encabezado
<mdspan>
|
||
|
template
<
class
IndexType,
std::
size_t
...
Extents
>
class extents ; |
(1) | (desde C++23) |
|
template
<
class
IndexType,
std::
size_t
Rank
>
using dextents = /* ver más abajo */ |
(2) | (desde C++23) |
|
template
<
std::
size_t
Rank,
class
IndexType
=
std::
size_t
>
using dims = std :: dextents < IndexType, Rank > ; |
(3) | (desde C++26) |
1)
Representa un espacio de índices multidimensional de rango igual a
sizeof...
(
Extents
)
.
2)
Una plantilla de alias conveniente para un
extents
completamente dinámico. Sea
d
denotando
std::
dynamic_extent
, cada especialización de
dextents
<
IndexType, Rank
>
es equivalente a
extents
<
IndexType
/*, d, d, ..., d*/
>
(es decir,
d
se repite un total de
Rank
veces).
3)
Una plantilla de alias conveniente para un
extents
completamente dinámico con
std::
size_t
como tipo de índice predeterminado.
Cada especialización de
extents
modela
regular
y es
TriviallyCopyable
.
Contenidos |
Parámetros de plantilla
| IndexType | - |
el tipo de cada
Extents
no dinámico. Debe ser un tipo entero con signo o sin signo. De lo contrario, el programa está mal formado
|
| Extents | - |
representa la extensión (tamaño de un intervalo entero) para cada rango de índice. Cada elemento de este es igual a
std::
dynamic_extent
(en este caso, representa una
extensión dinámica
y el tamaño de la extensión se determinará dinámicamente), o es representable como un valor de tipo
IndexType
(entonces representa una
extensión estática
y el tamaño de la extensión es simplemente su valor), o de lo contrario el programa está mal formado
|
| Rank | - |
denota el rango de un
extents
completamente dinámico
|
Tipos de miembros
| Tipo de miembro | Definición |
index_type
|
IndexType
|
size_type
|
std:: make_unsigned_t < index_type > |
rank_type
|
std::size_t |
Miembros de datos
| Nombre del miembro | Definición |
std::
array
<
index_type, rank_dynamic
(
)
>
dynamic-extents
(privado)
|
Un array que almacena el tamaño de cada extensión dinámica.
( objeto miembro solo para exposición* ) |
Funciones miembro
construye un
extents
(función miembro pública) |
|
Observadores |
|
|
[static]
|
retorna el rango estático de un
extents
(función miembro estática pública) |
|
[static]
|
retorna el rango dinámico de un
extents
(función miembro estática pública) |
|
[static]
|
retorna el tamaño de extensión estática de un
extents
en un índice de rango determinado
(función miembro estática pública) |
retorna el tamaño de extensión dinámica de un
extents
en un índice de rango determinado
(función miembro pública) |
|
Ayudantes |
|
retorna el producto de tamaños de extensión en el rango
[
0
,
i
)
( función miembro solo para exposición* ) |
|
retorna el producto de tamaños de extensiones en el rango
[
i
+
1
,
rank
(
)
)
( función miembro solo para exposición* ) |
|
|
convierte la entrada a un tipo entero
( función miembro solo para exposición* ) |
|
|
(private)
|
retorna el número de extensiones dinámicas por debajo de un índice de rango determinado
( función miembro solo para exposición* ) |
|
(private)
|
retorna el número
r
tal que en el rango
[
0
,
r
+
1
)
hay exactamente
i + 1
extensiones dinámicas para un argumento determinado
i
( función miembro solo para exposición* ) |
Funciones no miembro
|
(C++23)
|
compara las extensiones subyacentes en cada dimensión de dos
extents
(función) |
Guías de deducción (C++23)
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++11)
|
obtiene el número de dimensiones de un tipo de array
(plantilla de clase) |
|
(C++11)
|
obtiene el tamaño de un tipo de array a lo largo de una dimensión especificada
(plantilla de clase) |