class_docstr: Reader for Mat4 files 
class_docstr_tok: ["Reader","for","Mat4","files"]
docstr: Read and return header, next position
  
  Parameters
  ----------
  None
  
  Returns
  -------
  header : object
     object that can be passed to self.read_var_array, and that
     has attributes ``name`` and ``is_global``
  next_position : int
     position in stream of next variable
docstr_tok: ["Read","and","return","header",",","next","position","Parameters","--","--","--","--","--","None","Returns","--","--","--","-","header",":","object","object","that","can","be","passed","to","self.read_var_array",",","and","that","has","attributes","``","name","``","and","``","is_global","``","next_position",":","int","position","in","stream","of","next","variable"]
code: def read_var_header(self):
      """Read and return header, next position
  
      Parameters
      ----------
      None
  
      Returns
      -------
      header : object
         object that can be passed to self.read_var_array, and that
         has attributes ``name`` and ``is_global``
      next_position : int
         position in stream of next variable
      """
      hdr = self._matrix_reader.read_header()
      n = reduce(lambda x, y: x * y, hdr.dims, 1)  # fast product
      remaining_bytes = hdr.dtype.itemsize * n
      if hdr.is_complex and not hdr.mclass == mxSPARSE_CLASS:
          remaining_bytes *= 2
      next_position = self.mat_stream.tell() + remaining_bytes
      return hdr, next_position
  
imports: import sys
  import warnings
  import numpy
  import scipy.sparse
  from .miobase import MatFileReader, docfiller, matdims, read_dtype, convert_dtypes, arr_to_chars, arr_dtype_number
  from .mio_utils import squeeze_element, chars_to_strings
  from functools import reduce
label_desc: Use image node_id 4 for calling the MatFile4Reader obj's underlying member method code with example usage: obj.read_var_header() and returns: hdr,  next_position