xronos-sdk 0.5.0
Xronos C++ SDK
Loading...
Searching...
No Matches
xronos::sdk::ProgrammableTimer< void > Class Referencefinal

A reactor element for scheduling new events. More...

#include <xronos/sdk/programmable_timer.hh>

Inheritance diagram for xronos::sdk::ProgrammableTimer< void >:
[legend]

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ ProgrammableTimer()

xronos::sdk::ProgrammableTimer< void >::ProgrammableTimer ( std::string_view name,
ReactorContext context )

Constructor.

Parameters
nameThe name of the ProgrammableTimer.
contextThe containing reactor's context.

The documentation for this class was generated from the following file: