lazy#
-
template<typename Action>
class lazy : public queryosity::dataflow::node, public queryosity::ensemble::slotted<Action>, public queryosity::systematic::resolver<lazy<Action>>, public queryosity::query::result_of<Action># Lazy action over dataset.
- Template Parameters:
Action – Action to be performed.
Public Functions
-
template<typename Col>
auto filter(lazy<Col> const &column) const -> queryosity::lazy<selection::node># Compound a weight to from this selection.
The current selection becomes its prerequisite in the cutflow: all prerequisites must pass in order for a downstream selection to pass.
- Template Parameters:
Col – Column type.
- Parameters:
column – [in] Input lazy column used as weight decision.
- Returns:
Compounded lazy weight.
-
template<typename Col>
auto weight(lazy<Col> const &column) const -> queryosity::lazy<selection::node># Compound a weight to from this selection.
- Template Parameters:
Col – Column type.
- Parameters:
column – [in] Input lazy column used as weight decision.
- Returns:
Compounded lazy weight.
-
template<typename Col>
auto filter(Col const &column) const# Compound a varied cut to this selection.
- Template Parameters:
Col – Varied lazy column type.
- Parameters:
column – [in] Input varied column used as cut decision.
- Returns:
Varied lazy cut.
-
template<typename Col>
auto weight(Col const &column) const# Compound a varied weight to this selection.
- Template Parameters:
Col – Varied lazy column type.
- Parameters:
column – [in] Input varied column used as weight decision.
- Returns:
Varied lazy weight.
-
template<typename Expr>
auto filter(queryosity::column::expression<Expr> const &expr) const# Compound a cut to this selection.
- Template Parameters:
Expr – Callable type (C++ function, functor, lambda, etc.).
- Parameters:
column – [in] Input lazy column used as cut decision.
- Returns:
Selection evaluator.
-
template<typename Expr>
auto weight(queryosity::column::expression<Expr> const &expr) const# Compound a weight to from this selection.
- Template Parameters:
Expr – Callable type (C++ function, functor, lambda, etc.).
- Parameters:
expr – [in] Expression used to evaluate the weight decision.
- Returns:
Selection evaluator.
-
template<typename Def>
auto filter(queryosity::column::definition<Def> const &defn) const# Compound a cut to this selection.
- Template Parameters:
Def – Column definition type.
- Parameters:
defn – [in] Column definition whose value is the cut decision.
- Returns:
Selection evaluator.
-
template<typename Def>
auto weight(queryosity::column::definition<Def> const &defn) const# Compound a weight to from this selection.
- Template Parameters:
Def – Column definition type.
- Parameters:
defn – [in] Column definition whose value is the weight decision.
- Returns:
Selection evaluator.
-
template<typename Qry>
auto book(Qry &&qry) const# Book a query at this selection.
The query booker should have already been filled with input columns (if applicable).
- Template Parameters:
Qry – (Varied) query booker type.
- Parameters:
qry – [in] Query booker.
- Returns:
(Varied) lazy query.
-
template<typename Bkr>
auto book(std::vector<Bkr> const &bkrs) const# Book multiple queries (of the same definition) at this selection.
The query bookers should have already been filled with input columns (if applicable).
- Template Parameters:
Bkr – (Varied) query booker type.
- Parameters:
bkrs – [in] Query bookers.
- Returns:
List of (varied) lazy queries.
-
template<typename ...Qrys>
auto book(Qrys&&... qrys) const# Book multiple queries at this selection.
The query bookers should have already been filled with input columns (if applicable).
- Template Parameters:
Qrys – (Varied) query booker types.
- Parameters:
qrys – [in] Query bookers.
- Returns:
(Varied) lazy queries.
-
template<typename Col, std::enable_if_t<queryosity::is_nominal_v<Col>, bool> = false>
auto get(column::series<Col> const &col) -> lazy<query::series<typename column::series<Col>::value_type>># Get a column series for the entries passing the selection.
- Attention
The weight value does not apply in the population of the series.
- Template Parameters:
Col – Lazy column type.
- Returns:
Lazy query.
-
template<typename Col, std::enable_if_t<queryosity::is_varied_v<Col>, bool> = false>
auto get(column::series<Col> const &col) -> varied<lazy<query::series<typename column::series<Col>::value_type>>># Get a column series for the entries passing the selection.
- Attention
The weight value does not apply in the population of the series.
- Template Parameters:
Col – Varied column type.
- Returns:
Varied lazy query.
-
template<typename V = Action, std::enable_if_t<queryosity::query::has_result_v<V>, bool> = false>
auto result() const -> decltype(std::declval<V>().result()) const&# (Process and) retrieve the result of a query.
- Attention
Invoking this turns all lazy actions in the dataflow eager.
- Returns:
Query result.