cppitertools
cppitertools copied to clipboard
Implementation of python itertools and builtin iteration functions for C++17
For example: filter should accept [`std::move_only_function`](https://en.cppreference.com/w/cpp/utility/functional/move_only_function/move_only_function)
Recent libc++ checks that an iterators `reference` type matches its `operator*`'s return type. This isn't the case across itertools and must be addressed. Testing with https://github.com/llvm/llvm-project/commit/36c746ca2d5b325a7ac64135c1ff8774c06ab34c
The said issue has been [resolved](https://developercommunity.visualstudio.com/content/problem/252157/sfinae-error-depends-on-name-of-template-parameter.html) in MSVC19. All tests pass (662/662) on MSVC22 and GCC11.2 (MinGW-w64) Thank you for considering these changes.
I'd appreciate having the repeat argument accepted as a variable: ``` std::string ss{"abcd"}; int k{4}; iter::product(ss,k); //instead of... std::string ss{"abcd"}; iter::product(ss); // has to be entered manually! ```
- in many use cases, the number of arguments for a function like this is known only at run time. is it possible for product to accept a vector object?...
Hi, I came here from doing Project Euler in C++. I was googling for a library for doing `product()` and found this one, but it only allows a template argument....
Have you thought about adding functionality for Python-style negative indices on the slice function?
I ran static analysis tools on the C++ code. Then fixed all warnings.
Hi, good to see more Python like functions in c++. Is it possible to have zip and zip_longest use a single iterator over an arbitrary number of containers that are...
Allows iteration over a sequence in shuffled order. Randomization released through Linear Feedback Shift Register. Additional convinient feature - ability to restore iterator state with zero cost (not present in...