Back to home page

EIC code displayed by LXR

 
 

    


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

0001 
0002 //  (C) Copyright Edward Diener 2019
0003 //  Use, modification and distribution are subject to the Boost Software License,
0004 //  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0005 //  http://www.boost.org/LICENSE_1_0.txt).
0006 
0007 #if !defined(BOOST_TTI_DETAIL_MACRO_FUN_TEMPLATE_HPP)
0008 #define BOOST_TTI_DETAIL_MACRO_FUN_TEMPLATE_HPP
0009 
0010 #include <boost/preprocessor/comparison/equal.hpp>
0011 #include <boost/preprocessor/control/iif.hpp>
0012 #include <boost/preprocessor/logical/and.hpp>
0013 #include <boost/preprocessor/variadic/elem.hpp>
0014 #include <boost/preprocessor/variadic/size.hpp>
0015 #include <boost/preprocessor/variadic/to_array.hpp>
0016 #include <boost/preprocessor/detail/is_binary.hpp>
0017 #include <boost/tti/detail/dmacro_fve.hpp>
0018 
0019 #define BOOST_TTI_DETAIL_FUN_TEMPLATE_VARIADIC_TO_ARRAY(...) \
0020   BOOST_PP_IIF \
0021     ( \
0022     BOOST_PP_AND \
0023       ( \
0024       BOOST_PP_EQUAL \
0025         ( \
0026         BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
0027         1 \
0028         ), \
0029       BOOST_PP_IS_BINARY \
0030         ( \
0031         BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__) \
0032         ) \
0033       ), \
0034     BOOST_TTI_DETAIL_FIRST_VARIADIC_ELEM, \
0035     BOOST_PP_VARIADIC_TO_ARRAY \
0036     ) \
0037   (__VA_ARGS__) \
0038 /**/
0039 
0040 #endif // BOOST_TTI_DETAIL_MACRO_FUN_TEMPLATE_HPP