Provide predicate for std::generate
#include <iostream>
using std::cout;
using std::endl;
#include <algorithm>
#include <vector>
#include <iterator>
char nextLetter();
int main()
{
std::vector< char > chars( 10 );
std::ostream_iterator< char > output( cout, " " );
// generate values for all elements of chars with nextLetter
std::generate( chars.begin(), chars.end(), nextLetter );
cout << "\n\nVector chars after generating letters A-J:\n";
std::copy( chars.begin(), chars.end(), output );
cout << endl;
return 0;
}
// generator function returns next letter (starts with A)
char nextLetter() {
static char letter = 'A';
return letter++;
}
/*
Vector chars after generating letters A-J:
A B C D E F G H I J
*/
Related examples in the same category