20 #ifndef INCLUDE_FKIE_MESSAGE_FILTERS_DIVIDER_IMPL_H_
21 #define INCLUDE_FKIE_MESSAGE_FILTERS_DIVIDER_IMPL_H_
29 template<
class... Inputs>
30 template<std::
size_t N>
33 return std::get<N>(sources_);
36 template<
class... Inputs>
37 template<std::
size_t N>
40 return std::get<N>(sources_);
43 template<
class... Inputs>
47 connect_to_sinks_impl<0>(conn, sinks...);
51 template<
class... Inputs>
57 std::get<I>(this->sources_).disconnect_from_all_sinks();
62 template<
class... Inputs>
65 this->disconnect_from_all_sources();
66 disconnect_from_all_sinks();
69 template<
class... Inputs>
76 template<
class... Inputs>
79 forward_to_sources<0>(ins...);
82 template<
class... Inputs>
83 template<std::
size_t N>
88 template<
class... Inputs>
89 template<std::size_t N,
typename ThisInput,
typename... OtherInputs>
92 std::get<N>(sources_).forward(in);
93 forward_to_sources<N + 1>(ins...);
96 template<
class... Inputs>
97 template<std::
size_t N>
102 template<
class... Inputs>
103 template<std::size_t N,
typename ThisSink,
typename... OtherSinks>
106 conn[N] = std::get<N>(sources_).connect_to_sink(sink);
107 connect_to_sinks_impl<N + 1>(conn, sinks...);