File tree Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Original file line number Diff line number Diff line change @@ -339,7 +339,7 @@ namespace example_component {
339
339
==== `operator*`
340
340
341
341
Explicitly add an action to the flow. Actions used in flow extensions without
342
- the `*` will be treated as references only and will not be added to the
342
+ the `\ *` will be treated as references only and will not be added to the
343
343
flow at that location. It is a compilation error if an action is not added
344
344
with a `*` in exactly one location in the overall config.
345
345
@@ -388,6 +388,7 @@ what happens by default when we run the flow.
388
388
// the default flow builder and service
389
389
template <stdx::ct_string Name = "">
390
390
using builder = flow::graph<Name, flow::graph_builder<impl>>;
391
+
391
392
template <stdx::ct_string Name = "">
392
393
struct service {
393
394
using builder_t = builder<Name>;
@@ -413,6 +414,7 @@ But given a flow, other renderings are possible.
413
414
// a flow builder and service that produces a graphviz rendering
414
415
template <stdx::ct_string Name = "">
415
416
using viz_builder = flow::graph<Name, flow::graphviz_builder>;
417
+
416
418
template <stdx::ct_string Name = "">
417
419
struct viz_service {
418
420
using builder_t = builder<Name>;
Original file line number Diff line number Diff line change @@ -38,13 +38,43 @@ The library dependencies are:
38
38
- https://github.com/intel/cpp-senders-and-receivers[Baremetal Senders and Receivers (`async`)]
39
39
- https://github.com/fmtlib/fmt[fmt]
40
40
41
- === Libraries
41
+ === Functionality
42
42
43
- _cib_ contains several libraries that work together:
43
+ _cib_ contains several parts that work together:
44
44
45
45
- xref:flow.adoc#_the_flow_library[`flow`]
46
46
- xref:logging.adoc#_the_logging_library[`logging`]
47
47
- xref:interrupt.adoc#_the_interrupt_library[`interrupt`]
48
48
- xref:match.adoc#_the_match_library[`match`]
49
49
- xref:message.adoc#_the_message_library[`message`]
50
50
- xref:sc.adoc#_the_sc_string_constant_library[`sc` (string constant)]
51
+
52
+ === Sub-library DAG
53
+
54
+ Various sub-libraries within CIB form a dependency graph. `cib` is an omnibus
55
+ library that contains all the functionality.
56
+
57
+ [mermaid, format="svg"]
58
+ ----
59
+ flowchart BT
60
+ sc(cib_sc)
61
+ nexus(cib_nexus)
62
+ lookup(cib_lookup)
63
+
64
+ flow(cib_flow) --> nexus
65
+ flow --> log
66
+
67
+ interrupt(cib_interrupt) --> sc
68
+ match(cib_match) --> sc
69
+ log(cib_log) --> sc
70
+
71
+
72
+ log_fmt(cib_log_fmt) --> log
73
+ msg(cib_msg) --> log & match
74
+ msg --> lookup
75
+
76
+ log_mipi(cib_log_mipi) --> msg
77
+ seq(cib_seq) --> flow
78
+
79
+ cib --> interrupt & seq & log_fmt & log_mipi
80
+ ----
You can’t perform that action at this time.
0 commit comments