std::extents<IndexType,Extents...>:: extents
|
constexpr
extents
(
)
=
default
;
|
(1) | (desde C++23) |
|
template
<
class
OtherIndexType,
std::
size_t
...
OtherExtents
>
constexpr
explicit
(
/*ver más abajo*/
)
|
(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
(
)
)
|
(4) | (desde C++23) |
|
template
<
class
OtherIndexType,
std::
size_t
N
>
constexpr
explicit
(
N
!
=
rank_dynamic
(
)
)
|
(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.
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
-
- sizeof... ( OtherExtents ) == rank ( ) es true , y
-
(
(
OtherExtents
==
std::
dynamic_extent
||
Extents
==
std::
dynamic_extent
||
OtherExtents == Extents ) && ... ) es true .
- Este constructor es explicit si
-
- ( ( Extents ! = std:: dynamic_extent && OtherExtents == std:: dynamic_extent ) || ... ) es true , o
- std:: numeric_limits < IndexType > :: max ( ) < std:: numeric_limits < OtherIndexType > :: max ( ) es true .
- Esta sobrecarga participa en la resolución de sobrecarga solo si
-
- ( std:: is_convertible_v < OtherIndexTypes, IndexType > && ... ) es true ,
- ( std:: is_nothrow_constructible_v < IndexType, OtherIndexTypes > && ... ) es true , y
- N == rank_dynamic ( ) || N == rank ( ) es true .
- 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 .
[
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
-
- std:: is_convertible_v < const OtherIndexType & , IndexType > es true ,
- std:: is_nothrow_constructible_v < IndexType, const OtherIndexType & > es true , y
- N == rank_dynamic ( ) || N == rank ( ) es true .
- 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
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
|||