File indexing completed on 2024-11-16 09:12:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <boost/preprocessor/cat.hpp>
0012 #include <boost/fusion/support/detail/as_fusion_element.hpp>
0013
0014 #if !defined(BOOST_FUSION_CLASS_TPL_NAME)
0015 # error "BOOST_FUSION_CLASS_TPL_NAME undefined"
0016 #endif
0017
0018 #define BOOST_FUSION_FUNC_NAME BOOST_PP_CAT(make_,BOOST_FUSION_CLASS_TPL_NAME)
0019
0020 namespace boost { namespace fusion
0021 {
0022
0023 namespace result_of
0024 {
0025 template <typename F>
0026 struct BOOST_FUSION_FUNC_NAME
0027 {
0028 typedef fusion::BOOST_FUSION_CLASS_TPL_NAME<
0029 typename fusion::detail::as_fusion_element<F>::type > type;
0030 };
0031 }
0032
0033 template <typename F>
0034 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0035 inline typename result_of::BOOST_FUSION_FUNC_NAME<F>::type
0036 BOOST_FUSION_FUNC_NAME(F const & f)
0037 {
0038 return typename result_of::BOOST_FUSION_FUNC_NAME<F>::type(f);
0039 }
0040
0041 }}
0042
0043 #undef BOOST_FUSION_CLASS_TPL_NAME
0044 #undef BOOST_FUSION_FUNC_NAME
0045