Прямо сейчас у меня есть этот код:
bool isAnyTrue() {
for(std::list< boost::shared_ptr<Foo> >::iterator i = mylist.begin(); i != mylist.end(); ++i) {
if( (*i)->isTrue() )
return true;
}
return false;
}
Я использовал Повышение здесь и затем но я не мог действительно помнить простой способ записать это несколько как, я, возможно, запишу это в Python, например:
def isAnyTrue():
return any(o.isTrue() for o in mylist)
Есть ли какая-либо конструкция в STL/повышении для записи этого более или менее как это?
Или возможно эквивалент этому Коду Python:
def isAnyTrue():
return any(map(mylist, lambda o: o.isTrue()))
Главным образом я задаюсь вопросом, существует ли кто-либо существующий any
(и all
) эквивалентный в Повышении / STL все же. Или почему нет (потому что это кажется довольно полезным, и я использую его довольно часто в Python).