template<typename T>
vt::runtime::component::Component struct

Component class for a generic VT runtime module, CRTP'ed over the component's actual type

Base classes

struct BaseComponent
The abstract BaseComponent for VT runtime component pack.

Derived classes

template<typename T>
struct PollableComponent
Component class for a generic, pollable VT runtime module, CRTP'ed over the component's actual type. A pollable component will be registered with the VT scheduler to ensure it makes progress.

Public static functions

template<typename... Args>
static auto staticInit(Args && ... args) -> std::unique_ptr<T>
Construct the component with the specialized construct method or the normal component constructor depending on the type trait.

Constructors, destructors, conversion operators

Component() defaulted

Public functions

auto pollable() -> bool override
Whether the component requires the scheduler to poll.
void initialize() override
Empty default overridden initialize method.
void finalize() override
Empty default overridden finalize method.
void startup() override
Empty default overridden startup method.
auto progress(] TimeType current_time) -> int override
Empty default overridden progress method.
void dumpState() override
Empty default diagnostic dump state.

Function documentation

template<typename T> template<typename... Args>
static std::unique_ptr<T> vt::runtime::component::Component<T>::staticInit(Args && ... args)

Construct the component with the specialized construct method or the normal component constructor depending on the type trait.

Parameters
args in the arguments to forward to the component's constructor
Returns unique pointer to the component

template<typename T>
bool vt::runtime::component::Component<T>::pollable() override

Whether the component requires the scheduler to poll.

Returns default component is not pollable

template<typename T>
int vt::runtime::component::Component<T>::progress(] TimeType current_time) override

Empty default overridden progress method.

Parameters
current_time in current time
Returns no units processed