class_docstr: This class gives Python iteration semantics on top of a C++ 'Iterable'.
class_docstr_tok: ["This","class","gives","Python","iteration","semantics","on","top","of","a","C++","'Iterable","'","."]
code: def __next__(self):
      try:
          record, not_done = self._raw_next()
      except AttributeError:
          if self._cc_iterable is None:
              raise ValueError(
                  "No underlying iterable. This may occur if trying to "
                  "create multiple concurrent iterators from the same "
                  "reader. Try wrapping your call to the iterator in a "
                  "`with` block or materializing the entire iterable "
                  "explicitly."
              )
          else:
              raise
      if not_done:
          return record
      else:
          raise StopIteration
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import six
  from third_party.nucleus.protos import bed_pb2
  from third_party.nucleus.protos import bedgraph_pb2
  from third_party.nucleus.protos import fastq_pb2
  from third_party.nucleus.protos import gff_pb2
  from third_party.nucleus.protos import reads_pb2
  from third_party.nucleus.protos import variants_pb2
label_desc: Use image node_id 6 for calling the WrappedCppIterable obj's underlying member method code with example usage: obj.__next__() and returns: record