Allows a reaction to write data to a given Port. More...
#include <xronos/sdk/reaction.hh>
Public Member Functions | |
| PortEffect (InputPort< T > &port, const ReactionContext &context) | |
| Constructor.   | |
| PortEffect (OutputPort< T > &port, const ReactionContext &context) | |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  | |
| void | set (const ImmutableValuePtr< T > &value_ptr) | 
| Write a value to the port sending a message to connected ports.   | |
| void | set (MutableValuePtr< T > &&value_ptr) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  | |
| template<class U>  requires (!std::is_same_v<U, void> && std::is_same_v<T, U>)  | |
| void | set (const U &value) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.   | |
| template<class U>  requires (!std::is_same_v<U, void> && std::is_same_v<T, U>)  | |
| void | set (U &&value) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.   | |
| void | set () | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.   | |
| auto | get () const noexcept -> ImmutableValuePtr< T > requires(!std::is_same_v< T, void >) | 
| Get a previously set value.   | |
| auto | is_present () const noexcept -> bool | 
| Check if an event is present at the current timestamp.   | |
Allows a reaction to write data to a given Port.
| T | The value type associated with the port. | 
| xronos::sdk::BaseReaction::PortEffect< T >::PortEffect | ( | InputPort< T > & | port, | 
| const ReactionContext & | context ) | 
| void xronos::sdk::BaseReaction::PortEffect< T >::set | ( | const ImmutableValuePtr< T > & | value_ptr | ) | 
Write a value to the port sending a message to connected ports.
May be called multiple times, but at most one value is sent to connected ports. When called repeatedly at a given timestamp, the previous value is overwritten.
| value_ptr | A pointer to the value to be written to the referenced port. | 
| void xronos::sdk::BaseReaction::PortEffect< T >::set | ( | const U & | value | ) | 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Copy constructs the value using the given lvalue reference.
| void xronos::sdk::BaseReaction::PortEffect< T >::set | ( | U && | value | ) | 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Move constructs the value using the given rvalue reference.
| void xronos::sdk::BaseReaction::PortEffect< T >::set | ( | ) | 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Set the port without sending a value. This is only available if T is void.
      
  | 
  nodiscardnoexcept | 
Get a previously set value.
      
  | 
  nodiscardnoexcept | 
Check if an event is present at the current timestamp.