私はBoost Hanaのany_ofメソッドを使用しようとしましたが、実装の記述とは異なり、述語を最初に満たした要素の後に要素を呼び出します。これは既知のバグですか?ここで ブーストハナany_of?
がある MCVE:#include <iostream>
#include <boost/hana.hpp>
int main() {
auto t = boost::hana::tuple_t<int, double, float>;
boost::hana::any_of(t, [](auto) { std::cout << "Called\n"; return true; });
}
出力:これはバグです
Called
Called
[MCVE](http://stackoverflow.com/help/mcve)を投稿してください。 –
文書の中には、複数の要素に述語を満たすものがあっても、複数の要素には適用されないという記述はありません。実装を読むと、動作は私が期待しているものと一致します。私はそれが直観に反するかもしれないと同意することはできますが、個人的にそれを違ったものにしてしまうでしょう、述語に副作用がある陳述も一般的には眉をひそめます。 – GManNickG
http://www.boost.org/doc/libs/1_63_0/libs/hana/doc/html/structboost_1_1hana_1_1detail_1_1any__of.html – Yamahari