// This file is part of the mcl project. // Copyright (c) 2022 merryhime // SPDX-License-Identifier: MIT #pragma once namespace mcl::mp { namespace detail { template class F, class L> struct map_impl; template class F, template class LT, class... Es> struct map_impl> { using type = LT...>; }; } // namespace detail /// Applies each element of list L to metafunction F template class F, class L> using map = typename detail::map_impl::type; } // namespace mcl::mp