varied#
lazy#
-
template<typename Act>
class varied<lazy<Act>> : public queryosity::dataflow::node, public queryosity::systematic::resolver<lazy<Act>># Variations of a lazy action.
A varied lazy action encapsulates independent nominal and variation instances of of a lazy action, which are implicitly propagated through all downstream actions that it participates in. In other words, a varied node behaves functionally identical to a nominal-only one.
- Template Parameters:
Action – Action to be performed.
Public Functions
-
template<typename Col, typename V = Act, std::enable_if_t<queryosity::is_selection_v<V>, bool> = false>
auto filter(Col const &col) -> varied<lazy<selection::node>># Compound a cut to this selection. @Col (Varied) lazy input column type. @parma[in] col (Varied) lazy input column used as cut decision.
- Returns:
Varied lazy selection.
-
template<typename Col, typename V = Act, std::enable_if_t<queryosity::is_selection_v<V>, bool> = false>
auto weight(Col const &col) -> varied<lazy<selection::node>># Compound a weight to this selection. @Col (Varied) lazy input column type. @parma[in] col (Varied) lazy input column used as cut decision.
- Returns:
Varied lazy selection.
todo#
-
template<typename Helper>
class varied<todo<Helper>> : public queryosity::dataflow::node, private queryosity::systematic::resolver<todo<Helper>># Varied version of a todo item.
A todo varied item is functionally equivalent to a
todonode with each method being propagated to independent todo nodes corresponding to nominal and systematic variations.Public Functions
-
template<typename ...Nodes, typename V = Helper, std::enable_if_t<queryosity::query::is_fillable_v<queryosity::query::booked_t<V>>, bool> = false>
auto fill(Nodes const&... columns) -> varied# Fill the query with input columns.
- Parameters:
columns... – [in] Input columns to fill the query with.
- Returns:
A new todo query node with input columns filled.
-
template<typename Node, typename V = Helper, std::enable_if_t<queryosity::query::is_bookable_v<V>, bool> = false>
auto at(Node const &selection) -> varied<lazy<query::booked_t<V>>># Book the query at a selection.
- Parameters:
selection – [in] Lazy selection to book query at.
- Returns:
Lazy query booked at selection.
-
template<typename ...Nodes, typename V = Helper, std::enable_if_t<queryosity::query::is_bookable_v<V>, bool> = false>
auto at(Nodes const&... selections) -> std::array<varied<lazy<query::booked_t<V>>>, sizeof...(Nodes)># Book the query at multiple selections.
- Parameters:
selection – [in] Lazy selection to book queries at.
- Returns:
Delayed query containing booked lazy queries.
-
template<typename ...Nodes, typename V = Helper, std::enable_if_t<queryosity::query::is_fillable_v<queryosity::query::booked_t<V>>, bool> = false>