std::extents, std::dextents
De cppreference.com
| Definido en el archivo de 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 abajo */ |
(2) | (desde C++23) |
1) Representa un espacio de índice multidimensional de rango igual a
sizeof...(Extents). 2) Una plantilla de alias conveniente para un
extents totalmente dinámico. Sea que d denote std::dynamic_extent, cada especialización del mismo dextents<IndexType, Rank> es equivalente a extents<IndexType /*, d , d, ..., d*/> (es decir, d se repite un total de Rank veces).Cada especialización de extents modela regular y es TriviallyCopyable.
Parámetros de plantilla
| IndexType | - | El tipo de cada Extents no dinámico. Será un tipo entero con o sin signo. De lo contrario, el programa está mal formado.
|
| Extents | - | Representa la dimensión (tamaño de un intervalo entero) para cada índice de rango. Cada elemento del mismo es igual a std::dynamic_extent (en este caso representa una dimensión dinámica y el tamaño de la dimensión se determinará dinámicamente), o es representable como un valor de tipo IndexType (entonces representa una dimensión estática y el tamaño de la dimensión es solo su valor), o bien el programa está mal formado.
|
| Rank | - | Denota el rango de extents completamente dinámico.
|
Tipos miembro
| Tipo miembro | Definición |
index_type
|
IndexType
|
size_type
|
std::make_unsigned_t<index_type>
|
rank_type
|
std::size_t |
Objetos miembro
| Nombre de miembro | Definición |
dynamic-extents (private)
|
Un array de tipo std::array<index_type, rank_dynamic()>, que almacena el tamaño de cada dimensión dinámica.(objeto miembro solo de exposición*) |
Funciones miembro
Construye un objeto extents. (función miembro pública) | |
Observadores | |
[estático] |
Devuelve el rango estático de un objeto de tipo extents. (función miembro estática pública) |
[estático] |
Devuelve el rango dinámico de un objeto de tipo extents. (función miembro estática pública) |
[estático] |
Devuelve el tamaño estático de la dimensión de un objeto de tipo extents en un cierto índice de rango. (función miembro estática pública) |
Devuelve el tamaño de la dimensión dinámica de un objeto extents en un cierto índice de rango. (función miembro pública) | |
Auxiliares | |
Devuelve el producto del tamaño de las dimensiones en el rango [0, i). (función miembro de solo exposición) | |
Devuelve el producto del tamaño de las dimensiones en el rango [i + 1, rank()). (función miembro de solo exposición) | |
| Convierte la entrada en un tipo entero. (función miembro de solo exposición) | |
(private) |
Devuelve el número de dimensiones dinámicas por debajo de un determinado índice de rango. (función miembro de solo exposición) |
(private) |
Devuelve el número r tal que en el rango [0, r + 1) hay exactamente i + 1 dimensiones dinámicas para un determinado argumento i. (función miembro de solo exposición) |
Funciones no miembro
(C++23) |
Compara las dimensiones subyacentes en cada dimensión de dos objetos de tipo 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 array (plantilla de clase) |
(C++11) |
Obtiene el tamaño de un tipo array a lo largo de una dimensión especificada (plantilla de clase) |