back_inserting_iteratordo nothing and =() calls
push_back, so the assignment actually advances the underlying iterator. I did similarly for the
truncating_iteratorso that --(), ++(), and *() do nothing but return *this, and assignment assigns to - and increments - the underlying iterator - if count hasn't reached limit yet. Something like
if (count++ < limit) *out_++ = value;. As a template function, to avoid the issue of value_type. I'll see if I can figure out how to make a PR.
FMT_MAKE_VALUEmacro with the