Espacios de nombres
Variantes

Requisitos denominados de C++: PolíticaDeAcceso (desde C++23)

De cppreference.com
 
 
Requisitos denominados de C++
Números aleatorios
Concurrencia
(C++11)
(C++11)
Rangos
Vista multidimensional
Otros

 

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
  • Un tipo objeto completo que no sea una clase abstracta.
A::data_handle_type No especificado[1]
  • Modela copyable.
  • Los siguientes valores son todos true:
  • std::is_nothrow_move_constructible_v
    <typename A::data_handle_type>
  • std::is_nothrow_move_assignable_v
    <typename A::data_handle_type>
  • std::is_nothrow_swappable_v
    <typename A::data_handle_type>
A::reference No especificado[2]
  • std::common_reference_with<typename A::reference&&,
    typename A::element_type&>
    es true
A::offset_policy OP
  • Satisface los requisitos de PolíticaDeAcceso.
  • std::constructible_from<OP, const A&> es true.
  • typename OP::element_type y typename A::element_type son del mismo tipo.
  1. No se requiere que sea element_type*.
  2. No se requiere que sea element_type&.

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
  • Un valor q tal que para b siendo A::offset_policy(a), y cualquier entero n para el cual [0n) es un rango accesible (ver más abajo) de p y a.
  • [0n - i) es un rango accesible de q y b; y
  • b.access(q, j) proporciona acceso al mismo elemento que a.access(p, i + j), para cada j en el rango [0n - i).

Rango accesible

Un rango de índices [0N) 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:

Un tipo para acceso indexado a elementos de mdspan.
(plantilla de clase) [editar]
Un tipo para el acceso alineado a los elementos de mdspan.
(plantilla de clase) [editar]
Definido en el espacio de nombres std::linalg
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) [editar]
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) [editar]