C++ named requirements: AccessorPolicy (since C++23)
AccessorPolicy define cómo se accede a los elementos desde un manejador de datos dado hacia dichos elementos y un índice. Se utiliza como política en std:: mdspan para especificar el acceso a una referencia de un elemento utilizando un índice subyacente unidimensional.
Contenidos |
Requisitos
Un tipo
A
satisface
AccessorPolicy
si modela
copyable
, y lo siguiente es
true
:
- 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 mostradas en la tabla a continuación son válidas y tienen la semántica indicada:
Leyenda
| Tipo | Definición |
A
|
un tipo de política de acceso |
OP
|
un tipo de 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 de miembros
| 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 accessor dados 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 biblioteca estándar satisfacen AccessorPolicy requisitos:
|
(C++23)
|
un tipo para acceso indexado a elementos de
mdspan
(plantilla de clase) |
|
(C++26)
|
un tipo para acceso alineado a elementos de
mdspan
(plantilla de clase) |
|
Definido en el espacio de nombres
std::linalg
|
|
|
(C++26)
|
std::mdspan
política de acceso cuya referencia representa el producto de un factor de escala fijo y la referencia de su acceso anidado de
std::mdspan
(plantilla de clase) |
|
(C++26)
|
std::mdspan
política de acceso cuya referencia representa el conjugado complejo de la referencia de su acceso anidado de
std::mdspan
(plantilla de clase) |