diff options
Diffstat (limited to 'modules/async/c++/async.hpp')
-rw-r--r-- | modules/async/c++/async.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/async/c++/async.hpp b/modules/async/c++/async.hpp index b56742c..0f58536 100644 --- a/modules/async/c++/async.hpp +++ b/modules/async/c++/async.hpp @@ -12,6 +12,12 @@ namespace saw { class conveyor_storage; + +/** + * The inner base conveyor node type. + * It serves as a base for the asynchronous pipe/conveyor + * structure. + */ class conveyor_node { public: conveyor_node(); @@ -40,8 +46,14 @@ public: virtual void notify_parent_attached(conveyor_node &){}; }; +/** + * Conveyor helper type to provide some basic storage for child conveyor nodes. + */ class conveyor_node_with_child_mixin final { public: + /** + * The child itself. + */ own<conveyor_node> child = nullptr; conveyor_node_with_child_mixin(own<conveyor_node> &&child_, @@ -56,6 +68,9 @@ public: error_or<own<conveyor_node>> swap_child(own<conveyor_node> &&swapee); }; +/** + * Conveyor helper type to provide some basic reference helper. + */ class conveyor_node_with_parent_mixin final { public: conveyor_node *parent = nullptr; |