Reland "[base] Add missing methods to base::span"

This is a reland of 82d9545a59298536b27e95096148b1bb12f80fc4

Original change's description:
> [base] Add missing methods to base::span
>
> This change implements constructors for base::span that allow the
> construction from a pair of pointers, std::arrays and containers
> supporting base::data and base::size, e.g. std::initializer_list.
> In addition, this change adds operator().
>
> Bug: 788913
> Change-Id: Ibc280eef1c7e47a5a27e92503dda3614ef5513a4
> Reviewed-on: https://chromium-review.googlesource.com/981139
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#551313}

TBR=dcheng@chromium.org

Bug: 788913
Change-Id: I2e02879ddd2839ce0c26c8b18e565d555e08cc7b
Reviewed-on: https://chromium-review.googlesource.com/1013468
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551627}

CrOS-Libchrome-Original-Commit: 11201f072ca67ad3046b0720fa89840f4fd62981
3 files changed
tree: b06749fdd9af2196be912a10bf1cc874df8917d6
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/