Proof-of-concept implementation of
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2248r1.html
just for playing around with.
I've commented two places where I think the paper picks the wrong default.
I don't propose to land this patch in libc++ trunk at all; but anyway, even if someone did want to land it, it would need test cases.
Out of curiosity, what's your reasoning on this? Why input output should be preferred?
Do you mean some fancy output iterators that accept any type but e.g. do some counting and, hence, have a different value_type?