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
page).

Github page:

https://github.com/tzlaine/stl_interfaces

Online docs:

https://tzlaine.github.io/stl_inteTherfaces/doc/html/index.html
<https://tzlaine.github.io/stl_interfaces/doc/html/index.html>

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

Zach


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk