# every method

Future<bool> every (bool test(T element))

Checks whether `test` accepts all elements provided by this stream.

Calls `test` on each element of this stream. If the call returns `false`, the returned future is completed with `false` and processing stops.

If this stream ends without finding an element that `test` rejects, the returned future is completed with `true`.

If this stream emits an error, or if the call to `test` throws, the returned future is completed with that error, and processing stops.

## Implementation

    Future<bool> every(bool test(T element)) {
      _Future<bool> future = new _Future<bool>();
      StreamSubscription subscription;
      subscription = this.listen(
          (T element) {
            _runUserCode(() => test(element), (bool isMatch) {
              if (!isMatch) {
                _cancelAndValue(subscription, future, false);
              }
            }, _cancelAndErrorClosure(subscription, future));
          },
          onError: future._completeError,
          onDone: () {
            future._complete(true);
          },
          cancelOnError: true);
      return future;
    }