class_docstr: Buffered iterator for :func:`unzip`.
  
  This iterator contains :obj:`buffers` and :obj:`index`.
  The buffers are shared with other :class:`BufferedIterator`s.
  When :method:`__next__` or :method:`next` is called,
  this iterator checks :obj:`buffers[index]` fisrt.
  If :obj:`buffers[index]` has some values, it pops
  the first value and returns it. Otherwise, it gets
  a new tuple from the base iterator and pushes the values
  into :obj:`buffers`.
  
  When this iterator is deleted, it disables the corresponding buffer
  by setting :obj:`buffers[index]` to :obj:`None`.
  With this mark, other iterators can skip values for this deleted
  iterator and memory usage can be reduced.
  
  Args:
      iterator (iterator): A base iterator of tuples. All tuples should have
          the same length.
      buffers (list of collections.deque): A list of
          :class:`collections.deque` to buffer values.
          The size of this list should be same as those of tuples
          from :obj:`iterator`.
      index (int): The index of this :class:`BufferedIterator`.
code: def __del__(self):
      self.buffers[self.index] = None
  
file_path: chainercv/chainercv/utils/iterator/unzip.py
imports: import collections
label_desc: Use image node_id 2 for calling the BufferedIterator obj's underlying member method code with example usage: obj.__del__() without return types