今、私はこのコードを持っています:
bool isAnyTrue() {
for(std::list< boost::shared_ptr<Foo> >::iterator i = mylist.begin(); i != mylist.end(); ++i) {
if( (*i)->isTrue() )
return true;
}
return false;
}
私はここで Boost を使用しましたが、Python で書くような簡単な方法を思い出すことができませんでした。
def isAnyTrue():
return any(o.isTrue() for o in mylist)
STL/Boost に多かれ少なかれこのように記述するための構造はありますか?
または、次の Python コードと同等のものかもしれません。
def isAnyTrue():
return any(map(mylist, lambda o: o.isTrue()))
ほとんどの場合、Boost / STL に既存のany
(および) 相当するものがまだあるかどうか疑問に思っています。all
または、なぜないのですか (非常に便利なようで、Python で頻繁に使用するため)。