A reactor element for scheduling new events. More...
#include <xronos/sdk/programmable_timer.hh>
Public Member Functions | |
ProgrammableTimer (std::string_view name, ReactorContext context) | |
Constructor. | |
Public Member Functions inherited from xronos::sdk::Element | |
auto | name () const noexcept -> const std::string & |
Get the element's name. | |
auto | fqn () const noexcept -> const std::string & |
Get the element's fully qualified name. | |
auto | add_attribute (std::string_view key, const AttributeValue &value) noexcept -> bool |
Annotate an element with an attribute. | |
template<std::ranges::input_range R> requires requires(std::ranges::range_value_t<R> pair) { { pair.first } -> std::convertible_to<std::string_view>; { pair.second } -> std::convertible_to<AttributeValue>; } | |
auto | add_attributes (const R &range) noexcept -> bool |
Annotate an element with multiple attributes. | |
auto | add_attributes (std::initializer_list< std::pair< std::string_view, AttributeValue > > attributes) -> bool |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual | ~Element ()=default |
Virtual destructor. |
A reactor element for scheduling new events.
Programmable timers may be used by reactions to schedule new events that will be emitted in the future. They can be used both as an reaction trigger and an reaction effect.
This is a template specialization of ProgrammableTimer for scheduling and emitting events that do not have an associated value.
xronos::sdk::ProgrammableTimer< void >::ProgrammableTimer | ( | std::string_view | name, |
ReactorContext | context ) |
Constructor.
name | The name of the ProgrammableTimer. |
context | The containing reactor's context. |