A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
Loading...
Searching...
No Matches
a11::flow::syntax::Wait Struct Reference

wait subject – hold until a call, or a node this flow writes, is finished. More...

#include <cpp/a11/flow/syntax.h>

Inheritance diagram for a11::flow::syntax::Wait:
[legend]

Public Attributes

NodePtr subject
 
std::vector< NodePtr > subjects
 
bool race = false
 Whether the first to finish is enough.
 
std::optional< absl::Duration > timeout
 
std::vector< Word > after
 
std::vector< NodePtr > targets
 wait first of a, b -> n: where the winner's number goes.
 
- Public Attributes inherited from a11::flow::syntax::Node
NodeKind kind = NodeKind::kError
 
Location location
 

Additional Inherited Members

- Public Member Functions inherited from a11::flow::syntax::NodeOf< NodeKind::kWait >
 NodeOf ()
 
- Public Member Functions inherited from a11::flow::syntax::Node
virtual ~Node ()=default
 
- Static Public Attributes inherited from a11::flow::syntax::NodeOf< NodeKind::kWait >
static constexpr NodeKind kNodeKind
 

Detailed Description

wait subject – hold until a call, or a node this flow writes, is finished.

wait first of a, b holds until the first of several is finished and lets the others carry on; wait all of a, b is the plural of the singular form and holds for every one of them. subject is what a single wait names, and subjects what the of forms do, so a reader of the tree does not have to treat the common case as a list of one.

Member Data Documentation

◆ after

std::vector<Word> a11::flow::syntax::Wait::after

◆ race

bool a11::flow::syntax::Wait::race = false

Whether the first to finish is enough.

False for wait all of, and for the single-subject form where there is nothing to race.

◆ subject

NodePtr a11::flow::syntax::Wait::subject

◆ subjects

std::vector<NodePtr> a11::flow::syntax::Wait::subjects

◆ targets

std::vector<NodePtr> a11::flow::syntax::Wait::targets

wait first of a, b -> n: where the winner's number goes.

A race is a value – which of them won, counted from zero – so it is written where a value is written: piped to a destination here, named by a let, or bound with =. The same node stands in all three places, and a statement with no targets is the barrier on its own.

◆ timeout

std::optional<absl::Duration> a11::flow::syntax::Wait::timeout

The documentation for this struct was generated from the following file: