Merge three producer values into a tuple. More...
#include <sensesp/transforms/join.h>
Public Member Functions | |
Join3 (long max_age=0) | |
![]() | |
JoinBase (long max_age=0) | |
![]() | |
ValueProducer () | |
ValueProducer (const std::tuple< T1, T2, T3 > &initial_value) | |
virtual const std::tuple< T1, T2, T3 > & | get () const |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< std::tuple< T1, T2, T3 >, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
Connect a producer to a transform with a different input type. | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< std::tuple< T1, T2, T3 >, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< std::tuple< T1, T2, T3 >, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
void | emit (const std::tuple< T1, T2, T3 > &new_value) |
![]() | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
Public Attributes | |
std::tuple< LambdaConsumer< T1 >, LambdaConsumer< T2 >, LambdaConsumer< T3 > > | consumers |
Protected Member Functions | |
void | emit_tuple () override |
![]() | |
void | check_emit () |
Protected Attributes | |
std::tuple< T1, T2, T3 > | values |
![]() | |
elapsedMillis | age_ [N] |
long | max_age_ |
![]() | |
std::tuple< T1, T2, T3 > | output_ |
Merge three producer values into a tuple.
Merges the connected producers' values into a tuple. The tuple is emitted once all producers have emitted a new value within max_age milliseconds.
|
inline |
|
inlineoverrideprotectedvirtual |
Implements sensesp::JoinBase< 3 >.
Definition at line 105 of file join.h.
std::tuple<LambdaConsumer<T1>, LambdaConsumer<T2>, LambdaConsumer<T3> > sensesp::Join3< T1, T2, T3 >::consumers |
|
protected |