class_docstr: Instead of marching the sub-matchers along in parallel, this matcher
  pre-reads the scores for a large block of documents at a time from each
  matcher, accumulating the scores in an array.
  
  This is faster than the implementation using a binary tree of
  :class:`~whoosh.matching.binary.UnionMatcher` objects (possibly just
  because of less overhead), but it doesn't allow getting information about
  the "current" document other than the score, because there isn't really a
  current document, just an array of scores.
code: def all_ids(self):
      doccount = self._doccount
      docnum = self._docnum
      offset = self._offset
      limit = self._limit
  
      a = self._a
      while docnum < doccount:
          if a[docnum - offset] > 0:
              yield docnum
  
          docnum += 1
          if docnum == limit:
              self._docnum = docnum
              self._read_part()
              offset = self._offset
              limit = self._limit
  
imports: from __future__ import division
  from array import array
  from whoosh.compat import xrange
  from whoosh.matching import mcore
label_desc: Use image node_id 13 for calling the ArrayUnionMatcher obj's underlying member method code with example usage: obj.all_ids() without return types