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
3 // found in the LICENSE file.
5 #include "mojo/public/cpp/bindings/lib/string_serialization.h"
11 size_t GetSerializedSize_(const String
& input
) {
14 return internal::Align(sizeof(internal::String_Data
) + input
.size());
17 void Serialize_(const String
& input
, internal::Buffer
* buf
,
18 internal::String_Data
** output
) {
20 internal::String_Data
* result
=
21 internal::String_Data::New(input
.size(), buf
);
23 memcpy(result
->storage(), input
.data(), input
.size());
30 void Deserialize_(internal::String_Data
* input
, String
* output
) {
32 String
result(input
->storage(), input
->size());