|
| | Reactor (std::string_view name, const Context &parent_context) |
| | Constructor.
|
| 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 | uid () const noexcept -> std::uint64_t |
| | Get the element's unique ID.
|
| auto | add_attribute (std::string_view key, const AttributeValue &value) noexcept -> bool |
| | Annotate an element with an attribute.
|
| template<std::ranges::input_range R> |
| 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.
|
|
| Element (Element &&)=default |
| | Move constructor.
|
|
auto | operator= (Element &&) -> Element &=default |
| | Move assignment operator.
|
|
| auto | context (std::source_location source_location=std::source_location::current()) noexcept -> ReactorContext |
| | Get a context object for constructing reactor elements and contained reactors.
|
| auto | get_time () const noexcept -> TimePoint |
| | Get the current timestamp.
|
| auto | get_lag () const noexcept -> Duration |
| | Get the current lag.
|
| auto | get_time_since_startup () const noexcept -> Duration |
| | Get the time that passed since the startup event.
|
| auto | startup () const noexcept -> const Startup & |
| | Get the startup event source.
|
| auto | shutdown () noexcept -> Shutdown & |
| | Get the shutdown event source.
|
| template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const InputPort< T, FromSerializer > &from, const InputPort< T, ToSerializer > &to) |
| | Connect two ports.
|
|
template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const OutputPort< T, FromSerializer > &from, const OutputPort< T, ToSerializer > &to) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const OutputPort< T, FromSerializer > &from, const InputPort< T, ToSerializer > &to) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const InputPort< T, FromSerializer > &from, const InputPort< T, ToSerializer > &to, Duration delay) |
| | Connect two ports with a delay.
|
|
template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const OutputPort< T, FromSerializer > &from, const OutputPort< T, ToSerializer > &to, Duration delay) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<class T, template< class > class FromSerializer, template< class > class ToSerializer> |
| void | connect (const OutputPort< T, FromSerializer > &from, const InputPort< T, ToSerializer > &to, Duration delay) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| template<class ReactionClass> |
| void | add_reaction (std::string_view name, std::source_location source_location=std::source_location::current()) |
| | Instantiate and add a new reaction to the reactor.
|
An abstract reactor that can be subclassed to define new reactors.