1#ifndef SENSESP_SRC_SENSESP_TRANSFORMS_JOIN_H_
2#define SENSESP_SRC_SENSESP_TRANSFORMS_JOIN_H_
4#include <elapsedMillis.h>
21 for (
int i = 0; i < N; i++) {
33 for (
int i = 0; i < N; i++) {
50template <
typename T1,
typename T2>
57 std::get<0>(
values) = value;
62 std::get<1>(
values) = value;
80template <
typename T1,
typename T2,
typename T3>
87 std::get<0>(
values) = value;
92 std::get<1>(
values) = value;
97 std::get<2>(
values) = value;
115template <
typename T1,
typename T2,
typename T3,
typename T4>
124 std::get<0>(
values) = value;
129 std::get<1>(
values) = value;
134 std::get<2>(
values) = value;
139 std::get<3>(
values) = value;
157template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
166 std::get<0>(
values) = value;
171 std::get<1>(
values) = value;
176 std::get<2>(
values) = value;
181 std::get<3>(
values) = value;
186 std::get<4>(
values) = value;
Merge three producer values into a tuple.
std::tuple< LambdaConsumer< T1 >, LambdaConsumer< T2 >, LambdaConsumer< T3 > > consumers
void emit_tuple() override
std::tuple< T1, T2, T3 > values
Merge four producer values into a tuple.
std::tuple< T1, T2, T3, T4 > values
std::tuple< LambdaConsumer< T1 >, LambdaConsumer< T2 >, LambdaConsumer< T3 >, LambdaConsumer< T4 > > consumers
void emit_tuple() override
Merge five producer values into a tuple.
std::tuple< LambdaConsumer< T1 >, LambdaConsumer< T2 >, LambdaConsumer< T3 >, LambdaConsumer< T4 >, LambdaConsumer< T5 > > consumers
std::tuple< T1, T2, T3, T4, T5 > values
void emit_tuple() override
virtual void emit_tuple()=0
Join two producer values into a tuple.
void emit_tuple() override
std::tuple< LambdaConsumer< T1 >, LambdaConsumer< T2 > > consumers
std::tuple< T1, T2 > values
Provides an easy way of calling a function based on the output of any ValueProducer.
A base class for any sensor or piece of code that outputs a value for consumption elsewhere.
void emit(const std::tuple< T1, T2 > &new_value)