|
A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
|
#include <cstddef>#include <optional>#include <string>#include <string_view>#include <vector>#include <absl/base/nullability.h>#include <absl/container/flat_hash_map.h>#include <absl/container/flat_hash_set.h>#include <absl/time/time.h>#include "a11/flow/syntax.h"#include "a11/flow/vocabulary.h"Go to the source code of this file.
Classes | |
| struct | a11::flow::graph::LogTail |
| One resolved pipeline stage. More... | |
| struct | a11::flow::graph::Stage |
| struct | a11::flow::graph::Ref |
| One stream in the plan. More... | |
| struct | a11::flow::graph::Step |
| One resolved statement. More... | |
| struct | a11::flow::graph::Body |
| A block of steps: a flow's top level, or a loop or branch body. More... | |
| struct | a11::flow::graph::Expr |
| One resolved expression, and the streams it reads. More... | |
| struct | a11::flow::graph::FlowGraph |
| The executable graph of one flow. More... | |
| struct | a11::flow::graph::Analysis |
| Who reads and who writes each ref a body owns. More... | |
| class | a11::flow::graph::GraphBuilder |
| Appends to a [FlowGraph] while the resolver walks a flow. More... | |
Namespaces | |
| namespace | a11 |
| namespace | a11::flow |
| namespace | a11::flow::graph |
Typedefs | |
| using | a11::flow::graph::RefId = size_t |
| Everything in a graph is named by index into the graph that owns it. | |
| using | a11::flow::graph::StepId = size_t |
| using | a11::flow::graph::BodyId = size_t |
| using | a11::flow::graph::ExprId = size_t |
Enumerations | |
| enum class | a11::flow::graph::RefKind { a11::flow::graph::kFlowPort , a11::flow::graph::kCallPort , a11::flow::graph::kNode , a11::flow::graph::kNodeId , a11::flow::graph::kStatus , a11::flow::graph::kHeader , a11::flow::graph::kExpr , a11::flow::graph::kDerived , a11::flow::graph::kZip , a11::flow::graph::kMerge , a11::flow::graph::kWinner , a11::flow::graph::kBound } |
| What a stream in the plan is. More... | |
| enum class | a11::flow::graph::StepKind { a11::flow::graph::kCall , a11::flow::graph::kPipe , a11::flow::graph::kSkip , a11::flow::graph::kWait , a11::flow::graph::kDrain , a11::flow::graph::kCancel , a11::flow::graph::kAbort , a11::flow::graph::kFail , a11::flow::graph::kLog , a11::flow::graph::kCapture , a11::flow::graph::kForEach , a11::flow::graph::kRepeat , a11::flow::graph::kIf , a11::flow::graph::kBlock } |
| What a statement became. More... | |
Functions | |
| std::string_view | a11::flow::graph::StepKindName (StepKind kind) |
| bool | a11::flow::graph::RecordsOutcome (StepKind kind) |
| Whether a step records an outcome of its own for a name to read. | |
| Analysis | a11::flow::graph::Analyse (const FlowGraph &flow, BodyId body) |
| Work out who reads and writes what in one body. | |
Variables | |
| constexpr size_t | a11::flow::graph::kNone = static_cast<size_t>(-1) |
| No such thing – the absent id, for the many fields only some kinds use. | |