1 #ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED 2 #define BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED 3 4 // Copyright 2015-2019 Peter Dimov. 5 // 6 // Distributed under the Boost Software License, Version 1.0. 7 // 8 // See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt 10 11 #include <boost/mp11/integral.hpp> 12 13 namespace boost 14 { 15 namespace mp11 16 { 17 18 // mp_is_list<L> 19 namespace detail 20 { 21 22 template<class L> struct mp_is_list_impl 23 { 24 using type = mp_false; 25 }; 26 27 template<template<class...> class L, class... T> struct mp_is_list_impl<L<T...>> 28 { 29 using type = mp_true; 30 }; 31 32 } // namespace detail 33 34 template<class L> using mp_is_list = typename detail::mp_is_list_impl<L>::type; 35 36 } // namespace mp11 37 } // namespace boost 38 39 #endif // #ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED 40