Dataflow programming in C++

Guys check this out:

It’s a compact single-header C++ library for flow-based programming. Here’s the idea:

               ┌────────┐
       (float) │ Summer │ (float)
 in_a ◄────────┤        │◄──────── out_sum
               │        │
       (float) │        │
 in_b ◄────────┤        │
               └────────┘
struct Summer
{
    ramen::Puller<float> in_a;
    ramen::Puller<float> in_b;
    ramen::Pullable<float> out_sum = [this](float& out) { out = *in_a + *in_b; };
};

More examples in the repo. That’s all from me for today. :3

1 Like

This is insanely useful for control engineers. Thanks for sharing.

1 Like