| Index: mojo/public/cpp/bindings/array_traits_carray.h
|
| diff --git a/mojo/public/cpp/bindings/array_traits_carray.h b/mojo/public/cpp/bindings/array_traits_carray.h
|
| index ffcf9d585568c7808bb5fb12c01c1f4865106b81..3ff694b88217532cf21e25cc36523148059589ac 100644
|
| --- a/mojo/public/cpp/bindings/array_traits_carray.h
|
| +++ b/mojo/public/cpp/bindings/array_traits_carray.h
|
| @@ -20,6 +20,14 @@ struct CArray {
|
| };
|
|
|
| template <typename T>
|
| +struct ConstCArray {
|
| + ConstCArray() : size(0), data(nullptr) {}
|
| + ConstCArray(size_t size, const T* data) : size(size), data(data) {}
|
| + size_t size;
|
| + const T* data;
|
| +};
|
| +
|
| +template <typename T>
|
| struct ArrayTraits<CArray<T>> {
|
| using Element = T;
|
|
|
| @@ -48,6 +56,21 @@ struct ArrayTraits<CArray<T>> {
|
| }
|
| };
|
|
|
| +template <typename T>
|
| +struct ArrayTraits<ConstCArray<T>> {
|
| + using Element = T;
|
| +
|
| + static bool IsNull(const ConstCArray<T>& input) { return !input.data; }
|
| +
|
| + static size_t GetSize(const ConstCArray<T>& input) { return input.size; }
|
| +
|
| + static const T* GetData(const ConstCArray<T>& input) { return input.data; }
|
| +
|
| + static const T& GetAt(const ConstCArray<T>& input, size_t index) {
|
| + return input.data[index];
|
| + }
|
| +};
|
| +
|
| } // namespace mojo
|
|
|
| #endif // MOJO_PUBLIC_CPP_BINDINGS_ARRAY_TRAITS_CARRAY_H_
|
|
|