vt::term::TermAction struct

Base classes

struct TermTerminated

Derived classes

struct TerminationDetector
Detect global termination and of subsets of work.

Public types

struct ActionMsg
using TermStateType = TermState
using ActionVecType = std::vector<ActionType>
using ActionContType = std::unordered_map<EpochType, ActionVecType>
using CallableActionType = std::unique_ptr<CallableBase>
using CallableVecType = std::unordered_map<EpochType, std::vector<CallableActionType>>
using CallableContType = std::unordered_map<EpochType, CallableVecType>
using EpochActionContType = std::unordered_map<EpochType, ActionContType>
using EpochStateType = std::unordered_map<EpochType, TermStateType>

Public static functions

static void runActions(ActionMsg* msg)

Constructors, destructors, conversion operators

TermAction() defaulted
~TermAction() defaulted virtual

Public functions

void addDefaultAction(ActionType action)
void addAction(ActionType action)
void addAction(EpochType const& epoch, ActionType action)
void addActionEpoch(EpochType const& epoch, ActionType action)
template<typename Callable>
void addActionUnique(EpochType const& epoch, Callable&& c)
auto getCurrentEpoch() const -> EpochType
void produceOn(EpochType epoch) const

Protected functions

void queueActions(EpochType epoch)
void triggerAllEpochActions(EpochType epoch, EpochType encapsulated_epoch)
void afterAddEpochAction(EpochType const& epoch)

Protected variables

ActionVecType global_term_actions_
EpochActionContType epoch_actions_
CallableContType epoch_callable_actions_