| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ | 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ |
| 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ | 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <string.h> // For |memcpy()|. | 9 #include <string.h> // For |memcpy()|. |
| 10 | 10 |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 typename MaybeConstUserType, | 156 typename MaybeConstUserType, |
| 157 typename UserTypeReader> | 157 typename UserTypeReader> |
| 158 struct ArraySerializer<MojomType, | 158 struct ArraySerializer<MojomType, |
| 159 MaybeConstUserType, | 159 MaybeConstUserType, |
| 160 UserTypeReader, | 160 UserTypeReader, |
| 161 ArraySerializerType::BOOLEAN> { | 161 ArraySerializerType::BOOLEAN> { |
| 162 using UserType = typename std::remove_const<MaybeConstUserType>::type; | 162 using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| 163 using Traits = ArrayTraits<UserType>; | 163 using Traits = ArrayTraits<UserType>; |
| 164 using Data = typename MojomType::Data_; | 164 using Data = typename MojomType::Data_; |
| 165 | 165 |
| 166 static_assert(std::is_same<bool, typename UserType::Element>::value, | 166 static_assert(std::is_same<bool, typename Traits::Element>::value, |
| 167 "Incorrect array serializer"); | 167 "Incorrect array serializer"); |
| 168 | 168 |
| 169 static size_t GetSerializedSize(UserTypeReader* input, | 169 static size_t GetSerializedSize(UserTypeReader* input, |
| 170 SerializationContext* context) { | 170 SerializationContext* context) { |
| 171 return sizeof(Data) + Align((input->GetSize() + 7) / 8); | 171 return sizeof(Data) + Align((input->GetSize() + 7) / 8); |
| 172 } | 172 } |
| 173 | 173 |
| 174 static void SerializeElements(UserTypeReader* input, | 174 static void SerializeElements(UserTypeReader* input, |
| 175 Buffer* buf, | 175 Buffer* buf, |
| 176 Data* output, | 176 Data* output, |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 if (!input) | 452 if (!input) |
| 453 return CallSetToNullIfExists<Traits>(output); | 453 return CallSetToNullIfExists<Traits>(output); |
| 454 return Impl::DeserializeElements(input, output, context); | 454 return Impl::DeserializeElements(input, output, context); |
| 455 } | 455 } |
| 456 }; | 456 }; |
| 457 | 457 |
| 458 } // namespace internal | 458 } // namespace internal |
| 459 } // namespace mojo | 459 } // namespace mojo |
| 460 | 460 |
| 461 #endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ | 461 #endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_ARRAY_SERIALIZATION_H_ |
| OLD | NEW |