<p>I just came across the proposed <a href="http://web.archive.org/web/20171008232044/http://dancinghacker.com:80/code/dataflow/dataflow/introduction/dataflow.html" rel="nofollow noreferrer">Boost::Dataflow</a> library. 
It seems like an interesting approach and I was wondering if there are other such alternative frameworks for C++, and if there are any related design patterns.
I have not ruled out Boost::Dataflow, I am just looking into any available alternatives so I can understand the domain and my options better (or roll my own if necessary).</p>

[{'answer_id': 72459, 'author': 'Johan Moreau', 'author_id': 12033, 'author_profile': 'https://Stackoverflow.com/users/12033', 'pm_score': 2, 'selected': False, 'text': '<p>if you want this design for image processing or visulization, you can find a good ressource in <a href="http://www.itk.org/" rel="nofollow noreferrer">itk</a>. And if you want a gui for this (data/work)flow you can use <a href="http://devidenews.wordpress.com/" rel="nofollow noreferrer">devide</a>.\nMy 2cents,\nJohan</p>\n'}, {'answer_id': 2590988, 'author': 'ern0', 'author_id': 185881, 'author_profile': 'https://Stackoverflow.com/users/185881', 'pm_score': 3, 'selected': False, 'text': '<p><strong>Wikipedia</strong></p>\n\n<p>There are a couple of good articles in the Wikipedia about the theory of the dataflow programming:</p>\n\n<ul>\n<li><a href="http://en.wikipedia.org/wiki/Dataflow" rel="nofollow noreferrer">Dataflow</a></li>\n<li><a href="http://en.wikipedia.org/wiki/Dataflow_programming" rel="nofollow noreferrer">Dataflow programming</a></li>\n<li><a href="http://en.wikipedia.org/wiki/Flow-based_programming" rel="nofollow noreferrer">Flow based programming</a></li>\n<li><a href="http://en.wikipedia.org/wiki/Actor_model" rel="nofollow noreferrer">Actor model</a></li>\n<li><a href="http://en.wikipedia.org/wiki/Visual_programming" rel="nofollow noreferrer">Visual programming</a></li>\n</ul>\n\n<p>These articles are written by various authors, so there are some overlaps, and some important stuff are missing, but it is a very good start point.</p>\n\n<p><strong>TinyOS</strong></p>\n\n<p>This is an open source operating system based on the dataflow principle. I have bad feelings about that: they don\'t even mention the term "dataflow". Altough, it is that, and maybe it\'s <a href="http://www.tinyos.net/" rel="nofollow noreferrer">worth studying it</a>.</p>\n'}, {'answer_id': 3639974, 'author': 'ern0', 'author_id': 185881, 'author_profile': 'https://Stackoverflow.com/users/185881', 'pm_score': 0, 'selected': False, 'text': '<p>If your area is sound generation/processing, use <a href="http://www.synthedit.com/" rel="nofollow noreferrer">http://www.synthedit.com/</a> </p>\n\n<p>It looks promising, I\'ve found a good answers for a deep problem in the SDK docs (polyphony). Funny, but they don\'t mention the word <em>dataflow</em>.</p>\n'}, {'answer_id': 6528596, 'author': 'Fernando', 'author_id': 822122, 'author_profile': 'https://Stackoverflow.com/users/822122', 'pm_score': 2, 'selected': False, 'text': '<p>Just for the records, you can also consider <a href="http://developer.gnome.org/gstreamermm/0.10/" rel="nofollow">gstreamermm</a>, which is a C++ wrapper around <a href="http://gstreamer.freedesktop.org/" rel="nofollow">gstreamer</a>.</p>\n'}, {'answer_id': 6528787, 'author': 'timday', 'author_id': 24283, 'author_profile': 'https://Stackoverflow.com/users/24283', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://en.wikipedia.org/wiki/Dataflow_programming" rel="nofollow">Dataflow programming</a> is one of those things that\'s been lurking around for decades and never quite taken off... for software anyway; in the VHDL/Verilog world you find yourself naturally adopting the dataflow mindset much more readily.  But in the software world... somehow it just never seems to scale beyond toy systems, perhaps because people insist on tying it together with visual programming (and I see boost dataflow <a href="http://dancinghacker.com/code/dataflow/dataflow/blueprint/examples/fltk_gui.html" rel="nofollow">also treads this path</a>).  Some people look to dataflow programming to solve the software crisis by making it more like HW design with pluggable components with interconnectable pins... <em>but hang on, HW design is really hard too!</em> (Interestingly, while in the HW world visual programming systems do <a href="http://www.cadence.com/rl/Resources/datasheets/virtuoso_vse_fam_ds.pdf" rel="nofollow">exist</a>, noone <em>actually</em> uses them to build anything big).</p>\n\n<p>The most interesting, active modern example I\'m aware of using dataflow principles is the <a href="http://en.wikipedia.org/wiki/Puredata" rel="nofollow">PureData</a> audio-visual programming environment.</p>\n'}, {'answer_id': 13454268, 'author': 'Alexei Kaigorodov', 'author_id': 1206301, 'author_profile': 'https://Stackoverflow.com/users/1206301', 'pm_score': 2, 'selected': False, 'text': '<p>Look at <a href="http://threadingbuildingblocks.org/" rel="nofollow">Intel Threading Building Blocks</a>, particullary its <code>tbb::flow</code> namespace. </p>\n'}, {'answer_id': 14991665, 'author': 'Andrew Wagner', 'author_id': 139802, 'author_profile': 'https://Stackoverflow.com/users/139802', 'pm_score': 0, 'selected': False, 'text': '<p>Maybe Pure Data (pd) has a C++ API...</p>\n\n<p><a href="http://en.wikipedia.org/wiki/Pure_Data" rel="nofollow">http://en.wikipedia.org/wiki/Pure_Data</a></p>\n'}, {'answer_id': 14991714, 'author': 'Andrew Wagner', 'author_id': 139802, 'author_profile': 'https://Stackoverflow.com/users/139802', 'pm_score': 2, 'selected': False, 'text': '<p>You can also look at the two main open source robotics frameworks, <a href="http://ros.org" rel="nofollow" title="ROS">ROS</a> and <a href="http://www.orocos.org" rel="nofollow">Orocos</a>.  There is also <a href="http://rock-robotics.org" rel="nofollow">Rock</a>, but it is based on Orocos, so it is equivalent if you\'re just looking for a C++ component framework.</p>\n'}, {'answer_id': 17372971, 'author': 'rwong', 'author_id': 377657, 'author_profile': 'https://Stackoverflow.com/users/377657', 'pm_score': 1, 'selected': False, 'text': '<p>Visual Studio Concurrency Runtime contains an asynchronous dataflow framework in C++.</p>\n\n<p>An example of image processing dataflow: <a href="http://msdn.microsoft.com/en-us/library/ff398050.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ff398050.aspx</a></p>\n'}, {'answer_id': 21680911, 'author': 'Alex D.', 'author_id': 2450304, 'author_profile': 'https://Stackoverflow.com/users/2450304', 'pm_score': 2, 'selected': False, 'text': '<p>There are some dataflow C++ libraries I have found:</p>\n\n<ul>\n<li><a href="https://github.com/benkard/cellspp" rel="nofollow noreferrer">cellspp</a> - allows to use spreadsheet evaluation model.</li>\n<li><a href="http://www.flowbasedprogramming.com" rel="nofollow noreferrer">DSPatch</a> and <a href="https://github.com/MarcusTomlinson/Route11" rel="nofollow noreferrer">Route11</a> - C++ dataflow frameworks. Allows to write programs in dataflow manner. Looks interesting.</li>\n</ul>\n'}, {'answer_id': 24830484, 'author': 'Alex Kosenkov', 'author_id': 1874808, 'author_profile': 'https://Stackoverflow.com/users/1874808', 'pm_score': 1, 'selected': False, 'text': '<p>You might check my implementation of dataflow here: <a href="http://ambient.comp-phys.org" rel="nofollow">http://ambient.comp-phys.org</a></p>\n\n<p>It supports MPI and threading and is based upon custom dataflow types (i.e. ambient::vector) that work through run-time object versioning system.</p>\n'}]
['https://Stackoverflow.com/questions/71979', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/-1/']