Namespaces
Variants

std::extents<IndexType,Extents...>:: extents

From cppreference.net
constexpr extents ( ) = default ;
(1) (desde C++23)
template < class OtherIndexType, std:: size_t ... OtherExtents >

constexpr explicit ( /*ver más abajo*/ )

extents ( const std:: extents < OtherIndexType, OtherExtents... > & other ) noexcept ;
(2) (desde C++23)
template < class ... OtherIndexTypes >
constexpr explicit extents ( OtherIndexTypes... exts ) noexcept ;
(3) (desde C++23)
template < class OtherIndexType, std:: size_t N >

constexpr explicit ( N ! = rank_dynamic ( ) )

extents ( std:: span < OtherIndexType, N > exts ) noexcept ;
(4) (desde C++23)
template < class OtherIndexType, std:: size_t N >

constexpr explicit ( N ! = rank_dynamic ( ) )

extents ( const std:: array < OtherIndexType, N > & exts ) noexcept ;
(5) (desde C++23)

Construya un extents . Se puede construir extents solo a partir de extensiones dinámicas, que son todos los valores que se almacenan, o a partir de todas las extensiones con una precondición.

1) Constructor predeterminado. Inicializa todas las extensiones dinámicas a cero.
2) Conversión desde otro objeto extents . Después de la construcción, * this == other es true .
  • El comportamiento es indefinido si
  • other. extent ( r ) ! = static_extent ( r ) para cualquier r para el cual static_extent ( r ) representa una extensión estática, o
  • other. extent ( r ) no es representable como un valor de tipo IndexType para cualquier valor de rango r en other .
  • Esta sobrecarga participa en la resolución de sobrecarga solo si
  • Este constructor es explicit si
3) Sea N igual a sizeof... ( exts ) y exts_arr sea std:: array < IndexType, N > { static_cast < IndexType > ( std :: move ( exts ) ) ... } , equivalente a extents ( exts_arr ) .
  • Esta sobrecarga participa en la resolución de sobrecarga solo si
  • El comportamiento es indefinido si
  • N ! = rank_dynamic ( ) y exts_arr [ r ] no es igual a static_extent ( r ) para cualquier r para el cual static_extent ( r ) representa una extensión estática, o
  • un elemento en exts es negativo o no representable como un valor de tipo IndexType .
4,5) Si N es igual a rank_dynamic ( ) , para todo d en [ 0 , rank_dynamic ( ) ) , inicializa por no-lista-directa dynamic-extents [ d ] con std:: as_const ( exts [ d ] ) . De lo contrario, para todo d en [ 0 , rank_dynamic ( ) ) , inicializa por no-lista-directa dynamic-extents [ d ] con std:: as_const ( exts [ dynamic-index-inv ( d ) ] ) .
  • Esta sobrecarga participa en la resolución de sobrecarga solo si
  • El comportamiento es indefinido si
  • N ! = rank_dynamic ( ) y exts [ r ] no es igual a static_extent ( r ) para cualquier r para el cual static_extent ( r ) representa una extensión estática, o
  • exts [ r ] es negativo o no representable como un valor de tipo IndexType para cualquier índice de rango r .

Parámetros

otro - otro extents desde el cual convertir
exts - representa las extensiones

Ejemplo

Véase también