RxCpp
CXXIter
Our great sponsors
RxCpp | CXXIter | |
---|---|---|
6 | 3 | |
2,973 | 36 | |
1.9% | - | |
0.0 | 0.0 | |
about 2 months ago | over 1 year ago | |
C++ | C++ | |
Apache License 2.0 | - |
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.
RxCpp
-
Why doesn't C++ use higher-order functions on iterators like Rust does?
And, prior to that https://github.com/ReactiveX/RxCpp
-
ReactivePlusPlus (reactive programming library for c++20) v0.0.1 is out with base operators (looking for feedback)
Yeah, I know this problem with operators =), original RxCpp implementation also has this problem with implementing all functions into base class and calling dependent functions internally.
-
RxCpp VS ReactivePlusPlus - a user suggested alternative
2 projects | 17 Apr 2022
-
What are some candidate libraries for inter-thread communication like message boxes or event systems?
Also you can check rxcpp with documentation about reactive approach there. It is functional version of observer/publisher-subscriber patterns with ability to be multithreaded. You can send events from one side, subscribe from another and modify events in meanwhile
-
Converting header-only libraries to modules?
I use a very large header-only library RxCpp. Simply adding #include "RxCpp/rx.hpp" to one .cpp file adds >1 second of compilation time. I'd like to use it as a module, but when I try to import "RxCpp/rx.hpp";, I get a bunch of errors.
-
Learning how to create applications with C++ for windows
+1 for Rx, specifically RxCpp. I've used it in concert with Qt with great results.
CXXIter
-
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? :)
What are some alternatives?
NumCpp - C++ implementation of the Python Numpy library
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#.
ReactivePlusPlus - Implementation of async observable/observer (Reactive Programming) in C++ with care about performance and templates in mind in ReactiveX approach
etl - Embedded Template Library
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport
benchmarks - Latency benchmarks for messaging
FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Disruptor-cpp - Port of LMAX Disruptor to C++
copper - Port of Golang channels to C++