generate
Assigne des valeurs générées par un objet de fonction à chaque élément d'un intervalle.
template<class ForwardIterator, class Generator>
void generate(
ForwardIterator _First,
ForwardIterator _Last,
Generator _Gen
);
Paramètres
_First
Un itérateur vers l'avant adressant la position du premier élément de la fréquence selon laquelle les valeurs doivent être assignées._Last
Un itérateur vers l'avant adressant une position au delà de le dernier élément dans l'intervalle auquel les valeurs doivent être assignées._Gen
Un objet de fonction appelée sans argument utilisé pour générer des valeurs à assigner à chacun des éléments dans la plage.
Notes
L'objet de fonction est appelée pour chaque élément dans la plage et n'a pas besoin de retourner la même valeur chaque fois qu'il est appelé.Il peut, par exemple, lisez dans un fichier ou pour et modifiez un état local.Le type de résultat du concepteur doit être convertible au type valeur des itérateurs en avant pendant l'intervalle.
l'intervalle référencé doit être valide ; tous les pointeurs doivent être deréférençables et, dans la séquence, la dernière position doit être accessible dès le début par l'augmentation.
La complexité est linéaire, avec exactement (_Last – _First) des appels au concepteur est requis.
Exemple
// alg_generate.cpp
// compile with: /EHsc
#include <vector>
#include <deque>
#include <algorithm>
#include <iostream>
#include <ostream>
int main( )
{
using namespace std;
// Assigning random values to vector integer elements
vector <int> v1 ( 5 );
vector <int>::iterator Iter1;
deque <int> deq1 ( 5 );
deque <int>::iterator d1_Iter;
generate ( v1.begin ( ), v1.end ( ) , rand );
cout << "Vector v1 is ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")." << endl;
// Assigning random values to deque integer elements
generate ( deq1.begin ( ), deq1.end ( ) , rand );
cout << "Deque deq1 is ( " ;
for ( d1_Iter = deq1.begin( ) ; d1_Iter != deq1.end( ) ; d1_Iter++ )
cout << *d1_Iter << " ";
cout << ")." << endl;
}
Configuration requise
en-tête : <algorithm>
l'espace de noms : DST