action#

class action#

The abstract base class of all dataflow actions (columns, selections, and queries).

The order of execution of an action’s methods are as follows:

  1. vary() immediately after the instantiation of an action (if it is not nominal).

  2. initialize() before entering the entry loop.

  3. execute() for each entry.

  4. finalize() after exiting the entry loop.

Subclassed by queryosity::column::node, queryosity::dataset::source, queryosity::query::node

Public Functions

inline virtual void vary(const std::string &variation_name)#

Inform this instance that it has been varied by the variation name.

This method is intended to allow systematic variations of a custom action that are triggered by input columns to be handled manually. It is not invoked for nominal actions.

Parameters:

variation_name[in] Variation name.

virtual void initialize(unsigned int slot, unsigned long long begin, unsigned long long end) = 0#

Initialize the action.

Parameters:
  • slot[in] The thread slot index.

  • begin[in] First entry to be processed by the action.

  • end[in] Last entry - 1 to be processed by the action.

virtual void execute(unsigned int slot, unsigned long long entry) = 0#

Execute the action.

Parameters:
  • slot[in] The thread slot index.

  • begin[in] The entry being processed by the action.

virtual void finalize(unsigned int slot) = 0#

Finalize the action.

Parameters:

slot[in] The thread slot index.