code: def unpack(self, struct):
          
          v = struct.unpack(self.read(struct.size))
          return v
docs: Read as many bytes as are required to extract struct then
          unpack and return a tuple of the values.
  
          Raises
          ------
          UnderflowDecodeError
              Raised when a read failed to extract enough bytes from the
              underlying stream to extract the bytes.
  
          Parameters
          ----------
          struct: struct.Struct
  
          Returns
          -------
          tuple
              Tuple of extracted values.