23 bool shouldBeCalled =
false;
24 bool shouldNotBeCalled =
false;
25 bool shouldBeCalledOnUndefined =
false;
27 call_if_defined<struct Foo>([&shouldBeCalled](
auto) { shouldBeCalled =
true; });
28 call_if_defined<struct Bar>([&shouldNotBeCalled](
auto) { shouldNotBeCalled =
true; });
29 REQUIRE(shouldBeCalled ==
true);
30 REQUIRE(shouldNotBeCalled ==
false);
32 shouldBeCalled =
false;
33 shouldNotBeCalled =
false;
34 shouldBeCalledOnUndefined =
false;
36 call_if_defined_full<struct Bar>([&shouldNotBeCalled](
auto) { shouldNotBeCalled =
true; }, []() {});
37 REQUIRE(shouldNotBeCalled ==
false);
38 REQUIRE(shouldBeCalledOnUndefined ==
false);
39 call_if_defined_full<struct Bar>([&shouldNotBeCalled](
auto) { shouldNotBeCalled =
true; }, [&shouldBeCalledOnUndefined]() { shouldBeCalledOnUndefined =
true; });
40 REQUIRE(shouldNotBeCalled ==
false);
41 REQUIRE(shouldBeCalledOnUndefined ==
true);