4 ms·
This is achieved by overloading the operator|, although there is some special hackery to use static function objects to omit the constructor calls. The first m
by pmr_ 12y ago
This is achieved by overloading the operator|, although there is some special hackery to use static function objects to omit the constructor calls.
The first mayor library to use this syntax was Boost.Range and it is now being proposed as the syntax of standard ranges.
- untothebreach 12y agothanks!
- eric_niebler 12y agoActually, the authors of Boost.Range got the idea from an earlier range library of mine, which is noted in the Acknowledgements section of the Boost.Range documentation [here](http://www.boost.org/libs/range/doc/html/range/history_ack.html http://www.boost.org/libs/range/doc/html/range/history_ack.h...): > Eric Niebler contributed the Range Adaptor idea which is arguably the single biggest innovation in this library.