Namespaces
Variants

std::hive<T,Allocator>::assign

De fr.cppreference.net

 
 
 
 
void assign( size_type count, const T& value );
(1) (depuis C++26)
template< class InputIt >
void assign( InputIt first, InputIt last );
(2) (depuis C++26)
void assign( std::initializer_list<T> ilist );
(3) (depuis C++11)

Remplace le contenu du conteneur.

1) Remplace le contenu par count copies de la valeur value.
2) Remplace le contenu par des copies de celles dans l'intervalle [first, last).
Si l'un des arguments est un itérateur dans *this, le comportement est indéfini. Cette surcharge ne participe à la résolution de surcharge que si InputIt satisfait LegacyInputIterator.
3) Remplace le contenu par les éléments de ilist.


Paramètres

count - la nouvelle taille du conteneur
value - la valeur avec laquelle initialiser les éléments du conteneur
first, last - la paire d'itérateurs définissant l'intervalle source des éléments à copier
ilist - std::initializer_list depuis laquelle copier les valeurs

Complexité

1) Linéaire en count.
2) Linéaire en distance entre first et last.
3) Linéaire en ilist.size().

Exemple

Le code suivant utilise assign pour ajouter plusieurs caractères à un std::hive<char> :

#include <hive>
#include <iostream>
#include <string>

int main()
{
    std::hive<char> characters;
    
    auto print_hive = [&]()
    {
        for (char c : characters)
            std::cout << c << ' ';
        std::cout << '\n';
    };
    
    characters.assign(5, 'a');
    print_hive();
    
    const std::string extra(6, 'b');
    characters.assign(extra.begin(), extra.end());
    print_hive();
    
    characters.assign({'C', '+', '+', '2', '6'});
    print_hive();
}

Sortie :

a a a a a
b b b b b b
C + + 2 6

Voir aussi

assigne un intervalle de valeurs au conteneur
(fonction membre publique)
assigne des valeurs au conteneur
(fonction membre publique)