Код: Выделить всё
always(x)Код: Выделить всё
always(x)(y...) == x
Это заставляет меня думать, что это не должно вести себя иначе, чем этот лямбда: [] (Auto const & ...) {return false; } .
как бы это ни было. Например, следующий код печатает 11 , но если я изменю третью лямбду на hana :: always (false) , то он печатает 00 , показывая, что всегда глотает любой аргумент.
Код: Выделить всё
#include
#include
#include
auto fun = boost::hana::overload(
[](int){ return true; },
[](double){ return true; },
[](auto const&...){ return false; }
);
int main() {
std::cout std::same_as;
#else
{ p(e, e) } -> std::convertible_to;
#endif
}
auto operator()(E&&) const {
}
P p;
};
#if 1
auto const foo = Foo{boost::hana::always(true)};
#else
auto const foo = Foo{[](auto const& ...){ return true; }};
#endif
int main() {
int bar;
foo(bar);
}
Подробнее здесь: https://stackoverflow.com/questions/666 ... st-argumen
Мобильная версия