Thanks, that worked.  Is there an advantage to using std::generate vs std::for_each for the assignment?
 
std::for_each was originally defined as a non-modifying algorithm:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#475