annotate DEPENDENCIES/generic/include/boost/fusion/container/list/detail/list_to_cons_call.hpp @ 47:fe753ff3d0b5

Simpler solution to .cat test
author Chris Cannam
date Thu, 07 Aug 2014 15:05:37 +0100
parents 2665513ce2d3
children c530137014c0
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2001-2011 Joel de Guzman
Chris@16 3
Chris@16 4 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 6 ==============================================================================*/
Chris@16 7 #ifndef BOOST_PP_IS_ITERATING
Chris@16 8 #if !defined(FUSION_LIST_TO_CONS_CALL_07192005_0138)
Chris@16 9 #define FUSION_LIST_TO_CONS_CALL_07192005_0138
Chris@16 10
Chris@16 11 #include <boost/preprocessor/iterate.hpp>
Chris@16 12 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
Chris@16 13 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
Chris@16 14
Chris@16 15 #define BOOST_PP_FILENAME_1 \
Chris@16 16 <boost/fusion/container/list/detail/list_to_cons_call.hpp>
Chris@16 17 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE)
Chris@16 18 #include BOOST_PP_ITERATE()
Chris@16 19
Chris@16 20 #endif
Chris@16 21 #else // defined(BOOST_PP_IS_ITERATING)
Chris@16 22 ///////////////////////////////////////////////////////////////////////////////
Chris@16 23 //
Chris@16 24 // Preprocessor vertical repetition code
Chris@16 25 //
Chris@16 26 ///////////////////////////////////////////////////////////////////////////////
Chris@16 27 #define N BOOST_PP_ITERATION()
Chris@16 28
Chris@16 29 static type
Chris@16 30 call(BOOST_PP_ENUM_BINARY_PARAMS(
Chris@16 31 N, typename detail::call_param<T, >::type _))
Chris@16 32 {
Chris@16 33 return type(_0
Chris@16 34 #if N > 1
Chris@16 35 , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, _)));
Chris@16 36 #else
Chris@16 37 );
Chris@16 38 #endif
Chris@16 39 }
Chris@16 40
Chris@16 41 #undef N
Chris@16 42 #endif // defined(BOOST_PP_IS_ITERATING)
Chris@16 43