• Jan Wilken Dörrie's avatar
    Reland "[base] Introduce base::CheckedContiguousRange" · 84fcf8bb
    Jan Wilken Dörrie authored
    This is a reland of 83ced150
    
    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/+/1893069Reviewed-by: default avatarChris Palmer <palmer@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#712493}
    84fcf8bb
span_unittest.cc 48.8 KB