/* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage * This software may be used and distributed according to the terms of the GNU * General Public License version 2 or any later version. */ #pragma once namespace Dynarmic::Common::mp { namespace detail { template class F, class L> struct fmap_impl; template class F, template class LT, class... T> struct fmap_impl> { using type = LT...>; }; } // namespace detail /// Metafunction that applies each element of list L to metafunction F template class F, class L> using fmap = typename detail::fmap_impl::type; } // namespace Dynarmic::Common::mp