generate_n()

generate_n() fills a sequence by applying n successive invocations of the generator.

#include <algorithm> 
class gen_by_two { 
public: 
   gen_by_two( int seed = 0 ) : _seed( seed ){} 
   int operator()() { return _seed += 2; } 
private: 
   int _seed; 
}; 
vector<int> ivec( 10 ); 

// fills ivec: 102 104 106 108 110 112 114 116 118 120 
generate_n( ivec.begin(), ivec.size(), gen_by_two(100) ); 

Get Essential C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.