Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:47:51

0001 /*=============================================================================
0002     Copyright (c) 2001-2011 Joel de Guzman
0003     Copyright (c) 2005 Eric Niebler
0004 
0005     Distributed under the Boost Software License, Version 1.0. (See accompanying 
0006     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 ==============================================================================*/
0008 #if !defined(FUSION_MAKE_CONS_07172005_0918)
0009 #define FUSION_MAKE_CONS_07172005_0918
0010 
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/fusion/support/detail/as_fusion_element.hpp>
0013 #include <boost/fusion/container/list/cons.hpp>
0014 
0015 namespace boost { namespace fusion
0016 {
0017     struct nil_;
0018 
0019     namespace result_of
0020     {
0021         template <typename Car, typename Cdr = nil_>
0022         struct make_cons
0023         {
0024             typedef cons<typename detail::as_fusion_element<Car>::type, Cdr> type;
0025         };
0026     }
0027 
0028     template <typename Car>
0029     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0030     inline cons<typename detail::as_fusion_element<Car>::type>
0031     make_cons(Car const& car)
0032     {
0033         return cons<typename detail::as_fusion_element<Car>::type>(car);
0034     }
0035 
0036     template <typename Car, typename Cdr>
0037     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0038     inline cons<typename detail::as_fusion_element<Car>::type, Cdr>
0039     make_cons(Car const& car, Cdr const& cdr)
0040     {
0041         return cons<typename detail::as_fusion_element<Car>::type, Cdr>(car, cdr);
0042     }
0043 }}
0044 
0045 #endif
0046