// Copyright 2020 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include "common/common_types.h" namespace boost::serialization { template void save(Archive& ar, const boost::icl::discrete_interval& obj, const unsigned int file_version) { ar << obj.lower(); ar << obj.upper(); ar << obj.bounds()._bits; } template void load(Archive& ar, boost::icl::discrete_interval& obj, const unsigned int file_version) { DomainT upper, lower; boost::icl::bound_type bounds; ar >> lower; ar >> upper; ar >> bounds; obj = boost::icl::discrete_interval(upper, lower, boost::icl::interval_bounds(bounds)); } template void serialize(Archive& ar, boost::icl::discrete_interval& obj, const unsigned int file_version) { boost::serialization::split_free(ar, obj, file_version); } } // namespace boost::serialization