Commit fd14095d authored by Dominik Charousset's avatar Dominik Charousset

Fix static assertion

parent 890918e5
......@@ -18,6 +18,8 @@
#pragma once
#include <vector>
#include "caf/default_downstream_manager.hpp"
#include "caf/detail/stream_stage_driver_impl.hpp"
#include "caf/detail/stream_stage_impl.hpp"
......@@ -74,10 +76,14 @@ attach_stream_stage(scheduled_actor* self, const stream<In>& in,
void(state_type&),
typename detail::get_callable_trait<Init>::fun_sig>::value,
"Expected signature `void (State&)` for init function");
static_assert(std::is_same<
void(state_type&, downstream<output_type>&, In),
typename detail::get_callable_trait<Fun>::fun_sig>::value,
using consume_one = void(state_type&, downstream<output_type>&, In);
using consume_all = void(state_type&, downstream<output_type>&,
std::vector<In>&);
using fun_sig = typename detail::get_callable_trait<Fun>::fun_sig;
static_assert(std::is_same<fun_sig, consume_one>::value
|| std::is_same<fun_sig, consume_all>::value,
"Expected signature `void (State&, downstream<Out>&, In)` "
"or `void (State&, downstream<Out>&, std::vector<In>&)` "
"for consume function");
using driver = detail::stream_stage_driver_impl<
typename Trait::input, DownstreamManager, Fun, Finalize>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment