all method
Returns true if all elements match a condition and false otherwise.
Applies the specified condition function to each element in the
iterable. The condition function is given each element to process and
should return true if the element matches a condition and false if
not.
If the condition function returns true for all elements in the
iterable, the all method returns true as well. Otherwise, if the
condition function returns false even once during the iteration, the
all method will return false as well.
If the type of the iterable is bool, the condition argument is optional.
The all method will short-circuit after receiving a false from calling
condition and will not iterate further over the iterable. In the worst
case, it will iterate over the entire iterable.
Example:
void main() {
final list = [2, 4, 6, 8];
final result = list.all((x) => x.isEven);
// Result: true
}
(This is a convenience method to maintain naming-consistency with its .NET LINQ equivalent. Internally it functions identically to every.)
Implementation
bool all([bool Function(T element)? condition]) {
if (condition == null) {
if (T == bool) {
condition = (T b) => b as bool;
} else {
throw ArgumentError('If T isn\t bool, condition must not be null.');
}
}
return every(condition);
}