fast_io
fast_io copied to clipboard
purge 90% iterator interface in fast_io
The original design is that all the formatting APIs should support all categories of iterators. However, with time, we discover that most iterators' categories are completely useless. Even if that is sometimes useful (despite the original thought It would be useful it is not), doing that with pointer ranges in a buffer and then copying the buffer to the iterator ranges always work. C++ iterator model is not a zero-overhead abstraction.
It becomes a burden on the interface, performance, binary size, and compilation speed, and pulling things like ranges in the header hurts compilation speed.