31 std::size_t callback_counts = 0;
35 snk.set_processing_function(
36 [&](
const int_M& i) ->
bool
39 if (i != 0)
throw std::domain_error(
"invalid value");
44 ASSERT_FALSE(buf.has_some());
50 ASSERT_TRUE(buf.has_some());
51 ASSERT_EQ(0u, callback_counts);
54 ASSERT_EQ(1u, callback_counts);
56 ASSERT_FALSE(buf.has_some());
57 ASSERT_EQ(3u, callback_counts);
59 ASSERT_EQ(3u, callback_counts);
62 ASSERT_EQ(4u, callback_counts);