std::forward_list<T,Allocator>::assign_range
Depuis fr.cppreference.net
template< /*container-compatible-range*/<T> R >
void assign_range( R&& rg );
|
(depuis C++23) | |
Remplace les éléments du conteneur par une copie de chaque élément dans rg.
Tous les itérateurs (y compris l'itérateur end()) et toutes les références aux éléments sont invalidés.
Chaque itérateur dans la plage rg est déréférencé exactement une fois.
Le comportement est indéfini si rg chevauche le conteneur.
Paramètres
| rg | - |
un
input_range
dont le type de référence est convertible en le type d'élément du conteneur
|
| Exigences de type | ||
|
-
|
||
-
T
n'est pas
EmplaceConstructible
dans
forward_list
à partir de
*
ranges::
begin
(
rg
)
, le comportement est indéfini.
|
||
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | Construction et insertion compatibles avec les gammes |
Exemple
Exécuter ce code
#include <algorithm> #include <cassert> #include <forward_list> #include <list> int main() { const auto source = std::list{2, 7, 1}; auto destination = std::forward_list{3, 1, 4}; #ifdef __cpp_lib_containers_ranges destination.assign_range(source); #else destination.assign(source.cbegin(), source.cend()); #endif assert(std::ranges::equal(source, destination)); }
Voir aussi
|
(C++23)
|
insère une plage d'éléments après un élément
(fonction membre publique) |
|
(C++23)
|
ajoute une plage d'éléments au début
(fonction membre publique) |
|
assigne des valeurs au conteneur
(fonction membre publique) |
|
|
assigne des valeurs au conteneur
(fonction membre publique) |