def collapse(self): if len(self._views) == 1: result = self._views[0] else: data = _ffi.new("uint8_t[]", self._total_length) pos = 0 for view in self._views: _lib.memcpy(data + pos, view._data, len(view)) pos += len(view) result = Buffer(data, self._total_length).view() del self._views[:] self._total_length = 0 return result