[go: nahoru, domu]

Reland "Reland "[base] Introduce base::CheckedContiguousRange""

This is a reland of 84fcf8bbfaf9ccd3c3dea716c11e233481209c77

Original change's description:
> Reland "[base] Introduce base::CheckedContiguousRange"
> 
> This is a reland of 83ced150300e54539bf7f5547a534eec68824476
> 
> Original change's description:
> > [base] Introduce base::CheckedContiguousRange
> > 
> > This change introduces base::CheckedContiguousRange, which similarly to
> > base::span is a light-weight wrapper around a contiguous container
> > performing bound CHECKs.
> > 
> > However, in contrast to base::span this class keeps a pointer to the
> > underlying container, and thus is able to respond to changes to data()
> > and size(), which base::span can't do.
> > 
> > Furthermore, this change provides a constexpr overload of base::data()
> > for std::array and fixes a bug in CheckedContiguousIterator::operator-=.
> > 
> > Bug: 990059
> > 
> > Change-Id: I3fef91c7ef7874bf495ac2ab6dbaf3a8b02dab35
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1893858
> > Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> > Reviewed-by: Chris Palmer <palmer@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#712120}
> 
> Bug: 990059
> Change-Id: If7cfd16ca526930643e9fac7567f58ba9ef60b1f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1893069
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#712493}

Bug: 990059
Change-Id: I728ab7d229d931919f928b4786a19c8ca46920f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1906352
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714801}
7 files changed