Boost logo

Boost :

From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2019-08-23 02:11:08

As mentioned a couple of weeks ago, I started a small library that was an
updated iterator_facade. It is now a still-smallish library called
stl_interfaces that includes a pre-C++20 implementation of view_interface,
and analogous templates iterator_interface (a cross between
Boost.Iterator's iterator_facade and iterator_adaptor), and
container_interface. Each of these makes it easier to write a view,
iterator, or container, respectively. Using container_interface, I was
able to write a version of static_vector in which I implemented only 21
member functions, and the template provided the other 40(!) functions.

The library is C++14 and later. There is an inline v1 namespace for the
C++14 implementations, and an experimental non-inline v2 namespace with
implementations using C++20 standard concepts. The part using C++20
concepts requires GCC 8 or 9, and cmcstl2 (more info on that on the Github

Github page:

Online docs:

Oh, and if you're willing to act as review manager, please let me know.


Boost list run by bdawes at, gregod at, cpdaniel at, john at