S>using IterType = OutputIterator; S>using IterCharType = typename IterType :: container_type :: value_type; S>for(size_t i = 0; i < num; ++i, ++iter) S>{ S> *iter = static_cast<IterCharType>( func() ); S>} S>