/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #include "pch.h" #include "Serialization.h" namespace CharacterTool { void SerializeToMemory(std::vector* buffer, const Serialization::SStruct& obj) { MemoryOArchive oa; oa(obj); buffer->assign(oa.buffer(), oa.buffer() + oa.length()); } void SerializeToMemory(DynArray* buffer, const Serialization::SStruct& obj) { MemoryOArchive oa; oa(obj); buffer->assign(oa.buffer(), oa.buffer() + oa.length()); } void SerializeFromMemory(const Serialization::SStruct& obj, const std::vector& buffer) { MemoryIArchive ia; if (!ia.open(buffer.data(), buffer.size())) { return; } ia(obj); } void SerializeFromMemory(const Serialization::SStruct& obj, const DynArray& buffer) { MemoryIArchive ia; if (!ia.open(buffer.data(), buffer.size())) { return; } ia(obj); } }