std::all_of, std::any_of, std::none_of
Da cppreference.com.
![]() | Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
Elemento definito nell'header <algorithm> | ||
template<class InputIt, class UnaryPredicate > bool all_of( InputIt first, InputIt last, UnaryPredicate p ); | (1) | (dal C++11) |
template<class InputIt, class UnaryPredicate > bool any_of( InputIt first, InputIt last, UnaryPredicate p ); | (2) | (dal C++11) |
template<class InputIt, class UnaryPredicate > bool none_of( InputIt first, InputIt last, UnaryPredicate p ); | (3) | (dal C++11) |
Verifica se predicato unario
2) p
ritorna true per tutti gli elementi della gamma [first, last)
.Original:
Checks if unary predicate
p
returns true for all elements in the range [first, last)
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Verifica se predicato unario
3) p
ritorna true per almeno un elemento nel range [first, last)
.Original:
Checks if unary predicate
p
returns true for at least one element in the range [first, last)
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Verifica se predicato unario
p
ritorna true per nessun elemento della gamma [first, last)
.Original:
Checks if unary predicate
p
returns true for no elements in the range [first, last)
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Indice |
[modifica]Parametri
first, last | - | la gamma di elementi da esaminare Original: the range of elements to examine The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
p | - | unary predicate . The signature of the predicate function should be equivalent to the following: bool pred(const Type &a); The signature does not need to have const&, but the function must not modify the objects passed to it. |
Type requirements | ||
-InputIt must meet the requirements of InputIterator . |
[modifica]Valore di ritorno
1)true se unario true predicato ritorna per tutti gli elementi della gamma, false altrimenti. Restituisce true se il campo è vuoto.
2) Original:
true if unary predicate returns true for all elements in the range, false otherwise. Returns true if the range is empty.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
true se unario true predicato restituisce per almeno un elemento della gamma, false altrimenti. Restituisce false se il campo è vuoto.
3) Original:
true if unary predicate returns true for at least one element in the range, false otherwise. Returns false if the range is empty.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
true se unario true predicato ritorna per non elementi nell'intervallo, false altrimenti. Restituisce true se il campo è vuoto.
Original:
true if unary predicate returns true for no elements in the range, false otherwise. Returns true if the range is empty.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica]Complessità
Al massimo
last
- first
applicazioni del predicatoOriginal:
At most
last
- first
applications of the predicateThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica]Possibile implementazione
First version |
---|
template<class InputIt, class UnaryPredicate >bool all_of(InputIt first, InputIt last, UnaryPredicate p){for(; first != last;++first){if(!p(*first))returnfalse;}returntrue;} |
Second version |
template<class InputIt, class UnaryPredicate >bool any_of(InputIt first, InputIt last, UnaryPredicate p){for(; first != last;++first){if(p(*first))returntrue;}returnfalse;} |
Third version |
template<class InputIt, class UnaryPredicate >bool none_of(InputIt first, InputIt last, UnaryPredicate p){for(; first != last;++first){if(p(*first))returnfalse;}returntrue;} |
[modifica]Esempio
#include <vector>#include <numeric>#include <algorithm>#include <iterator>#include <iostream>#include <functional> int main(){std::vector<int> v(10, 2);std::partial_sum(v.cbegin(), v.cend(), v.begin());std::cout<<"Among the numbers: ";std::copy(v.cbegin(), v.cend(), std::ostream_iterator<int>(std::cout, " "));std::cout<<'\n'; if(std::all_of(v.cbegin(), v.cend(), [](int i){return i %2==0;})){std::cout<<"All numbers are even\n";}if(std::none_of(v.cbegin(), v.cend(), std::bind(std::modulus<int>(), std::placeholders::_1, 2))){std::cout<<"None of them are odd\n";}struct DivisibleBy {constint d; DivisibleBy(int n): d(n){}bool operator()(int n)const{return n % d ==0;}}; if(std::any_of(v.cbegin(), v.cend(), DivisibleBy(7))){std::cout<<"At least one number is divisible by 7\n";}}
Output:
Among the numbers: 2 4 6 8 10 12 14 16 18 20 All numbers are even None of them are odd At least one number is divisible by 7