Evolve mojo::CArray/mojo::ConstCArray towards a future base::Span API

At some point, //base may implement a span abstraction to represent a
lightweight view over an array of n elements of type T. This simplifies
CArray/ConstCArray to make it easier for potential migration in the
future:
- Add a size deducing helper for constructing from a statically-sized
  array.
- Reverse size_t and T* arguments to be more consistent with the usual
  argument order in STL.
- Remove public access to fields and add getters.
- Remove |max_size|: CArray can't really be resized upward, so just
  implement |subspan()| to support deserialization.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I0116cd9a1f2e75e26ff515455267725324ee137e
Reviewed-on: https://chromium-review.googlesource.com/605029
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#493114}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 37048f2c9a8e6e95ed4dc1d36a5048d9a031c89e
1 file changed
tree: 63f84f21cb4289530f553d346bdfbffd12143f07
  1. DEPS
  2. OWNERS
  3. public/