Requisitos denominados de C++: PolíticaDeAcceso (desde C++23)
PolíticaDeAcceso define cómo se accede a los elementos a partir de un identificador de datos dado para dichos elementos y un índice. Se utiliza como política en std::mdspan para especificar el acceso a una referencia de un elemento mediante un índice unidimensional subyacente.
Requisitos
Un tipo A satisface PolíticaDeAcceso si modela copyable, y se cumplen las siguientes condiciones:
std::is_nothrow_move_constructible_v<A>std::is_nothrow_move_assignable_v<A>std::is_nothrow_swappable_v<A>
y, dados los siguientes tipos y valores, las expresiones que se muestran en la tabla a continuación son válidas y tienen la semántica indicada:
Leyenda
| Tipo | Definición |
A
|
Un tipo política de acceso. |
OP
|
Un tipo política de desplazamiento. |
| Valor | Definición |
a
|
Un valor de tipo (posiblemente calificado como const) A.
|
p
|
Un valor de tipo (posiblemente calificado como const) A::data_handle_type.
|
i, j, n
|
Valores de tipo std::size_t.
|
Tipos miembro
| Tipo | Definición | Requisitos |
|---|---|---|
A::element_type
|
No especificado |
|
A::data_handle_type
|
No especificado[1] |
|
A::reference
|
No especificado[2] |
|
A::offset_policy
|
OP
|
|
Funciones miembro
| Expresión | Tipo de retorno | Semántica |
|---|---|---|
a.access(p, i)
|
typename A::reference
|
|
a.offset(p, i)
|
typename A::offset_policy ::data_handle_type
|
|
Rango accesible
Un rango de índices [0, N) es un rango accesible de un manejador de datos y un accesor dado si, para cada índice en el rango, la función miembro access produce una referencia válida a un elemento.
Biblioteca estándar
Los siguientes tipos de la biblioteca estándar satisfacen los requisitos de PolíticaDeAcceso:
(C++23) |
Un tipo para acceso indexado a elementos de mdspan. (plantilla de clase) |
(C++26) |
Un tipo para el acceso alineado a los elementos de mdspan. (plantilla de clase) |
Definido en el espacio de nombres
std::linalg | |
(C++26) |
Política de descriptor de acceso a std::mdspan cuya referencia representa el producto de un factor de escala que está fijo y su referencia a descriptor de acceso a std::mdspan anidada. (plantilla de clase) |
(C++26) |
Política de descriptor de acceso a std::mdspan cuya referencia representa el conjugado complejo de la referencia de su descriptor de acceso a std::mdspan anidado. (plantilla de clase) |