std::experimental::ranges:: difference_type
|
Défini dans l'en-tête
<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) | |
Calcule le type de différence associé du type
I
, le cas échéant. Les utilisateurs peuvent spécialiser
difference_type
pour un type défini par le programme.
T
est un type objet, fournit un type membre
type
égal à
std::ptrdiff_t
. Sinon, il n'y a pas de membre
type
.
difference_type
. Fournit un type membre
type
égal à
T::difference_type
.
difference_type
mais qui prennent en charge la soustraction. Fournit un type membre
type
égal à
std::
make_signed_t
<
decltype
(
std::
declval
<
T
>
(
)
-
std::
declval
<
T
>
(
)
)
>
.
Modèle d'alias d'assistance
|
template
<
class
T
>
using difference_type_t = typename ranges :: difference_type < T > :: type ; |
(TS ranges) | |
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
spécifie qu'un type
Semiregular
peut être incrémenté avec les opérateurs de pré-incrémentation et post-incrémentation
(concept) |
|
|
classe de traits de compatibilité qui collecte les types associés d'un itérateur
(alias de modèle) |