archives.h
1 // Copyright 2020 Citra Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include <boost/archive/binary_iarchive.hpp> 8 #include <boost/archive/binary_oarchive.hpp> 9 #include <boost/serialization/export.hpp> 10 11 using iarchive = boost::archive::binary_iarchive; 12 using oarchive = boost::archive::binary_oarchive; 13 14 #define SERIALIZE_IMPL(A) \ 15 template void A::serialize<iarchive>(iarchive & ar, const unsigned int file_version); \ 16 template void A::serialize<oarchive>(oarchive & ar, const unsigned int file_version); 17 18 #define SERIALIZE_EXPORT_IMPL(A) \ 19 BOOST_CLASS_EXPORT_IMPLEMENT(A) \ 20 BOOST_SERIALIZATION_REGISTER_ARCHIVE(iarchive) \ 21 BOOST_SERIALIZATION_REGISTER_ARCHIVE(oarchive)