cmcstl2 icon indicating copy to clipboard operation
cmcstl2 copied to clipboard

An implementation of C++ Extensions for Ranges

Results 38 cmcstl2 issues
Sort by recently updated
recently updated
newest added

While trying to replace range-v3 with cmcstl2 I found out that `std::experimental::ranges::views::values` and `std::experimental::ranges::views::keys` is missing (and std::experimental::ranges::views::elements, too, but this is also missing in range-v3). https://godbolt.org/z/etU7PU I have seen...

https://github.com/CaseyCarter/cmcstl2/blob/b93cfc7cce4b146c27d6ba14f9b19b331d6efa05/include/stl2/detail/temporary_vector.hpp#L28 https://github.com/CaseyCarter/cmcstl2/blob/b93cfc7cce4b146c27d6ba14f9b19b331d6efa05/include/stl2/detail/temporary_vector.hpp#L43 https://github.com/CaseyCarter/cmcstl2/blob/b93cfc7cce4b146c27d6ba14f9b19b331d6efa05/include/stl2/detail/temporary_vector.hpp#L80 [P0619R4](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html) removed these functions in C++20.

Iterator concepts in this library use `iterator_traits::iterator_category` in the constraints, as in https://github.com/CaseyCarter/cmcstl2/blob/master/include/stl2/detail/iterator/concepts.hpp#L469 This is not conformant, as C++20 dictates that `iterator_traits::iterator_concept` should be used whenever present (with a fallback...

In case where the largest value occurs more than once, `max_element` should return the first of them but returns the last. See https://gcc.godbolt.org/z/aTDtlZ.

bug

This implements move-only iterators. I still have to write tests for 35 or so more algorithms accepting InputIterator.

I plan to make a proposal out of this and would like to have an implementation looked at beforehand. Note that the adapter is named `views::as_const` as opposed to `const_`...

stride_view is one of the things I regret not getting into C++20, so much so, that I'm planning on: 1. implementing it at CppCon on stage, so people don't use...

Now that MSVC can compile this project, it would be good for us to compile with MSVC too. In order to do this, a separate Dockerfile will need to be...

enhancement

The following code: ```c++ auto &&res = views::split(views::empty, 0); auto &&front = *begin(res); return distance(views::ext::ref(front)); ``` Fails to build on gcc trunk with: ```c++ /opt/compiler-explorer/libs/cmcstl2/include/stl2/view/ref.hpp:76:23: error: no match for call...

The library is in a strange half-state in which some but not all names are from the reserved identifier name space. Pick one or the other and use it consistently....