Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:40:54

0001 #ifndef BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED
0002 #define BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED
0003 
0004 // Copyright 2023 Peter Dimov
0005 // Distributed under the Boost Software License, Version 1.0.
0006 // https://www.boost.org/LICENSE_1_0.txt
0007 
0008 #include <boost/mp11/integral.hpp>
0009 #include <boost/mp11/detail/config.hpp>
0010 
0011 namespace boost
0012 {
0013 namespace mp11
0014 {
0015 
0016 // mp_is_value_list<L>
0017 namespace detail
0018 {
0019 
0020 template<class L> struct mp_is_value_list_impl
0021 {
0022     using type = mp_false;
0023 };
0024 
0025 #if defined(BOOST_MP11_HAS_TEMPLATE_AUTO)
0026 
0027 template<template<auto...> class L, auto... A> struct mp_is_value_list_impl<L<A...>>
0028 {
0029     using type = mp_true;
0030 };
0031 
0032 #endif
0033 
0034 } // namespace detail
0035 
0036 template<class L> using mp_is_value_list = typename detail::mp_is_value_list_impl<L>::type;
0037 
0038 } // namespace mp11
0039 } // namespace boost
0040 
0041 #endif // #ifndef BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED