[libcxx-dev] Ranges in libc++

Christopher Di Bella via libcxx-dev libcxx-dev at lists.llvm.org
Fri Feb 7 20:54:50 PST 2020


Now that concepts are available in Clang trunk, I'd like to start working
on getting ranges into libc++ so that there's some usability in v11.

I'd like to offer the contents of cjdb-ranges
<https://github.com/cjdb/cjdb-ranges>, which is a licence-compatible
partial implementation of the work from P0898 and P0896. It's a
near-complete implementation of [concepts] <http://eel.is/c++draft/concepts>
sans any post-Belfast changes and std::boolean, with a partial
implementation for both of [iterators] <http://eel.is/c++draft/iterators>
and [ranges] <http://eel.is/c++draft/ranges>. No work on [algorithms]
<http://wg21.link/algorithms> has been started. The library started out as
a clang-concepts <https://github.com/saarraz/clang-concepts-monorepo>-,
clang-tidy-compatible effort, and the master branch is libc++-compatible.

Some minor work will need to be done to get it working with LLVM trunk
(which I've only been able to move to in recent days). Lots of work will
need to be done in order to migrate the tests from their current form into
an LLVM-compatible form, but I'm happy to start looking into how to do
that. Before doing so, I'd like to check that I'm not stepping on anyone's
toes by contributing this body of work?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-dev/attachments/20200207/7964d1af/attachment.html>

More information about the libcxx-dev mailing list