blob: 2087a89dc3d9146a5aea86e67f7f5bd545cae762 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#include <fidl/test.nullable/cpp/natural_types.h>
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"
::test_nullable::StructWithNullableString::Storage_ test_nullable::StructWithNullableString::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.val)};
}
::test_nullable::StructWithNullableVector::Storage_ test_nullable::StructWithNullableVector::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.val)};
}
#ifdef __Fuchsia__
#endif // __Fuchsia__
::test_nullable::SimpleProtocolAddRequest::Storage_ test_nullable::SimpleProtocolAddRequest::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.a),
::fidl::internal::NaturalClone(storage_.b)};
}
::test_nullable::SimpleProtocolAddResponse::Storage_ test_nullable::SimpleProtocolAddResponse::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.sum)};
}
#ifdef __Fuchsia__
#endif // __Fuchsia__
#ifdef __Fuchsia__
#endif // __Fuchsia__
::test_nullable::Int32Wrapper::Storage_ test_nullable::Int32Wrapper::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.val)};
}
::test_nullable::StructWithNullableStruct::Storage_ test_nullable::StructWithNullableStruct::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.val)};
}
::test_nullable::StructWithNullableUnion::Storage_ test_nullable::StructWithNullableUnion::CloneStorage_() const {
return Storage_{
::fidl::internal::NaturalClone(storage_.val)};
}
std::shared_ptr<::test_nullable::SimpleUnion::Storage_> test_nullable::SimpleUnion::CloneStorage_() const {
const Storage_& storage = *storage_;
switch (storage_->index()) {
case 1:
return std::make_shared<Storage_>(
std::in_place_index<1>,
::fidl::internal::NaturalClone(std::get<1>(storage)));
case 2:
return std::make_shared<Storage_>(
std::in_place_index<2>,
::fidl::internal::NaturalClone(std::get<2>(storage)));
default:
return std::make_shared<Storage_>();
}
}
#pragma clang diagnostic pop