PrevUpHomeNext

A Big, Fat Warning About Proxy Iterators

Before we go any further, I just want to make you aware that Boost.Text makes extensive use of proxy iterators (see utf_8_to_32_iterator and friends). This is fine in C++20 and later, but is not fine in earlier versions of standard. In fact, in earlier versions proxy iterators are not iterators at all, by the standard's formal definition.

This is not a problem in practice; I have yet to run into any code that does not compile, or that does not work in some other way, due to the use of these proxy iterators, but it is a theoretical problem about which you should know. Consider yourself warned.


PrevUpHomeNext