'Compute the raw row indices to load for each asset on a query for the
given dates after applying a shift.
Parameters
start_idx : int
Index of first date for which we want data.
end_idx : int
Index of last date for which we want data.
assets : pandas.Int64Index
Assets for which we want to compute row indices
Returns
A 3-tuple of (first_rows, last_rows, offsets):
first_rows : np.array[intp]
Array with length == len(assets) containing the index of the first
row to load for each asset in `assets`.
last_rows : np.array[intp]
Array with length == len(assets) containing the index of the last
row to load for each asset in `assets`.
offset : np.array[intp]
Array with length == (len(asset) containing the index in a buffer
of length `dates` corresponding to the first row of each asset.
The value of offset[i] will be 0 if asset[i] existed at the start
of a query.  Otherwise, offset[i] will be equal to the number of
entries in `dates` for which the asset did not yet exist.'

def _compute_slices(self, start_idx, end_idx, assets):

    return _compute_row_slices(self._first_rows, self._last_rows, self._calendar_offsets, start_idx, end_idx, assets)
