std::experimental::ranges:: difference_type
|
Definido en el encabezado
<experimental/ranges/iterator>
|
||
|
template
<
class
I
>
struct difference_type { } ; |
(1) | |
|
template
<
class
T
>
struct difference_type < T * > ; |
(2) | |
|
template
<
class
T
>
struct difference_type < const T > : difference_type < std:: decay_t < T >> { } ; |
(3) | |
|
template
<
class
T
>
requires requires
{
typename
T
::
difference_type
;
}
|
(4) | |
|
template
<
class
T
>
requires
!
requires
{
typename
T
::
difference_type
;
}
&&
|
(5) | |
Calcula el tipo de diferencia asociado del tipo
I
, si existe. Los usuarios pueden especializar
difference_type
para un tipo definido por el programa.
T
es un tipo objeto, proporciona un tipo miembro
type
igual a
std::ptrdiff_t
. De lo contrario, no existe el miembro
type
.
difference_type
. Proporciona un tipo miembro
type
igual a
T::difference_type
.
difference_type
pero sí admiten la resta. Proporciona un tipo miembro
type
igual a
std::
make_signed_t
<
decltype
(
std::
declval
<
T
>
(
)
-
std::
declval
<
T
>
(
)
)
>
.
Plantilla de alias auxiliar
|
template
<
class
T
>
using difference_type_t = typename ranges :: difference_type < T > :: type ; |
(TS de ranges) | |
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
especifica que un tipo
Semiregular
puede ser incrementado con operadores de pre- y post-incremento
(concepto) |
|
|
clase de rasgos de compatibilidad que recopila los tipos asociados de un iterador
(plantilla de alias) |