Le document P0122R (2016-02-12) à partir de la Bibliothèque de l'Évolution du Groupe de Travail (LEWG)
officiellement renomme le type array_view
de span
:
Changelog
Les changements à partir de R0
- Changé le nom du type qui est proposé à partir de
array_view
de span
suivant les commentaires de LEWG à la Kona réunion.
- [...]
On peut également lire:
Impact sur le niveau
Cette proposition est une pure extension de bibliothèque.
Il ne nécessite pas de modifications des classes, des fonctions, ou les en-têtes.
Il serait améliorée si pourrait dépend de l' byte
type
et les changements de type de repliement de comportement proposé dans P0257.
Toutefois – si elle est adoptée – il peut être utile de surcharger certaines fonctions de bibliothèque standard pour ce nouveau type (un exemple serait l' copy()
).
span
a été mis en œuvre dans la norme C++ (C++11) et est en cours avec succès
utilisé à l'intérieur d'un commercial outil d'analyse statique de code C++, ainsi que commercial logiciels de productivité bureautique.
Un open source, l'implémentation de référence est disponible à l' https://github.com/Microsoft/GSL.
Dans un prochain chapitre, ce document présente la lecture seule et en lecture-écriture (mutable) accès:
Les types d'éléments et les conversions
span
doit être configuré avec son type d'élément
via le paramètre de modèle ValueType
,
ce qui est nécessaire pour devenir un objet de type
ce n'est pas une classe abstraite type.
span
prend en charge soit en lecture seule ou mutable l'accès à la séquence, il encapsule.
Pour accéder à des données en lecture seule, l'utilisateur peut déclarer span<const T>
,
et l'accès aux données mutable serait d'utiliser un span<T>
.
[...]
Voir aussi les lignes Directrices de la Bibliothèque de prise en charge de l'Examen: span<T>
de Marius Bancila (mars 2016) définissant span
comme:
Les lignes Directrices de la Bibliothèque de prise en charge de Microsoft, la mise en œuvre
de quelques-uns des types et fonctions décrits dans le C++ lignes Directrices de Base
maintenu par la Norme C++ de la Fondation.
Parmi les types fournis par la GSL est - span<T>
anciennement array_view<T>
.
span<T>
est un non propriétaire gamme de mémoire contiguë recommandé pour être utilisé au lieu de
les pointeurs (et de la taille du compteur) ou des conteneurs standard (comme std::vector
ou std::array
).