diff --git a/include/boost/mp11/detail/mp_is_list.hpp b/include/boost/mp11/detail/mp_is_list.hpp new file mode 100644 index 0000000..25b378b --- /dev/null +++ b/include/boost/mp11/detail/mp_is_list.hpp @@ -0,0 +1,39 @@ +#ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov. +// +// Distributed under the Boost Software License, Version 1.0. +// +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_is_list +namespace detail +{ + +template struct mp_is_list_impl +{ + using type = mp_false; +}; + +template class L, class... T> struct mp_is_list_impl> +{ + using type = mp_true; +}; + +} // namespace detail + +template using mp_is_list = typename detail::mp_is_list_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED diff --git a/include/boost/mp11/list.hpp b/include/boost/mp11/list.hpp index b764175..b56945a 100644 --- a/include/boost/mp11/list.hpp +++ b/include/boost/mp11/list.hpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -23,22 +24,7 @@ namespace mp11 template using mp_list_c = mp_list...>; // mp_is_list -namespace detail -{ - -template struct mp_is_list_impl -{ - using type = mp_false; -}; - -template class L, class... T> struct mp_is_list_impl> -{ - using type = mp_true; -}; - -} // namespace detail - -template using mp_is_list = typename detail::mp_is_list_impl::type; +// in detail/mp_is_list.hpp // mp_size namespace detail