CXXIter
Ergonomic C++ Iterator interface for STL containers (by seijikun)
cpplinq
LINQ for C++ (cpplinq) is an extensible C++11 library of higher-order functions for range manipulation. cpplinq draws inspiration from LINQ for C#. (by mrange)
CXXIter | cpplinq | |
---|---|---|
3 | 1 | |
36 | 178 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | about 3 years ago | |
C++ | C++ | |
- | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CXXIter
Posts with mentions or reviews of CXXIter.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-26.
-
5 Ways to Improve or Avoid Loops in C++20...23
I mostly agree. Though more often than not, it's not as easy as just switching to another language. If you've got a large codebase in C++, switching to Rust is unpracticable. But I think there are some nice lessons to be learned from Rust, that can be translated over to C++. I liked the idea of having the data stored within the locking structure, so it's impossible to access it incorrectly e.g.. And for iterators, I basically cloned Rust's interface in a C++20 library: https://github.com/seijikun/CXXIter
-
ReactivePlusPlus (reactive programming library for c++20) v0.0.1 is out with base operators (looking for feedback)
I'm especially intrigued by the way you implemented your usable interface that contains all of the chainable methods. I used a large struct where I manually added methods for every supported operator. And the operators themselves are then implemented each with their own struct in the back. Arguably, that makes it impossible to extend the public interface from the outside as a user. If I understood it correctly, that's where you used your member_overload mechanism, right? I'm still digging and trying to understand how it works though.
-
CXXIter: A chainable c++20 LINQ-like iterator library
I thought it might be a nice opportunity to get to know C++20 in the process, so I first read up about the new features, and then started applying them to a little iterator library I call CXXIter... that then somehow ended up getting a little bigger and more ergonomic than I had expected. I took inspiration for functions and appearance from LINQ, as well as from Rust's iterators. CXXIter allows passing elements as references, as well as using moves to pass them through the iterator. I know that there already are a couple of these libraries - but what would programming be without a little NIH here and there? :)
cpplinq
Posts with mentions or reviews of cpplinq.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-01-03.
-
CXXIter: A chainable c++20 LINQ-like iterator library
How does it compare to https://github.com/mrange/cpplinq
What are some alternatives?
When comparing CXXIter and cpplinq you can also consider the following projects:
RxCpp - Reactive Extensions for C++
range-v3 - Range library for C++14/17/20, basis for C++20's std::ranges
ReactivePlusPlus - Implementation of async observable/observer (Reactive Programming) in C++ with care about performance and templates in mind in ReactiveX approach