LINQ is one of those modern technologies missing from the C++ toolbox. By extension, so is Rx (Reactive Extensions), which of course is LINQ at its core... Well, today we're happy to announce that this is no longer the case. Erik Meijer's team is delivering on their promise of a native Rx. It's not available for download yet, but the work is being done and great progress has been made! Rock and roll.



Aaron Lahman is the newest member of Erik Meijer's gang of stellar developers. Erik and team are cranking away at pushing LINQ everywhere. Here, we meet Aaron and geek out about C++ LINQ (it's a modern library... Aaron's not extending the language....) and RxC (that's C as in C (not C++)—why C? Why not RxC++? Does it really matter?...)

Here's a trivial example employing C++ LINQ:

vector<int> some_primes(size_t howMany) { auto xs = from(int_range(0, INT_MAX)) .where(is_prime) .take(howMany); return xs.to_vector(); // or: vector<int>(begin(xs), end(xs)); }

Table of Contents:

[00:00] GoingNative(); //Charles flies solo for this episode. Make sure you check out the sessions from Developing Windows 8 Metro style apps with C++ event. This is the only place to learn (deeply) about WRL and C++ + XAML + DX, for example. Herb Sutter's keynote is excellent, of course.

[03:00] Charles interviews software developer Aaron Lahman. Aaron explains (whiteboard and demo included) the work he's doing building a LINQ library for C++ and Reactive Extensions for C. Aaron is great at explaining what he's doing (and why he's doing it). Thank you, Aaron! Go Rx!!

[39:58] ~GoingNative();