/usr/include/boost/proto/transform/detail/preprocessed
NameSizeModeActions
call.hpp214760644editdlrm
construct_funop.hpp28340644editdlrm
construct_pod_funop.hpp30580644editdlrm
default_function_impl.hpp289920644editdlrm
expand_pack.hpp89170644editdlrm
fold_impl.hpp452050644editdlrm
lazy.hpp132980644editdlrm
make.hpp600570644editdlrm
make_gcc_workaround.hpp289540644editdlrm
pack_impl.hpp238140644editdlrm
pass_through_impl.hpp289390644editdlrm
when.hpp82670644editdlrm
Edit: /usr/include/boost/proto/transform/detail/preprocessed/make_gcc_workaround.hpp (28954B)
/////////////////////////////////////////////////////////////////////////////// /// \file make_gcc_workaround.hpp /// Special workaround code to make the make\<\> transform work on certain /// versions of gcc. // // Copyright 2008 Eric Niebler. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) template struct make()> : transform()> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( ); } }; }; template struct make()> : transform()> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( ); } }; }; template struct make(A0)> : transform(A0)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) ); } }; }; template struct make(A0)> : transform(A0)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1)> : transform(A0 , A1)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1)> : transform(A0 , A1)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2)> : transform(A0 , A1 , A2)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2)> : transform(A0 , A1 , A2)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3)> : transform(A0 , A1 , A2 , A3)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3)> : transform(A0 , A1 , A2 , A3)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4)> : transform(A0 , A1 , A2 , A3 , A4)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4)> : transform(A0 , A1 , A2 , A3 , A4)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5)> : transform(A0 , A1 , A2 , A3 , A4 , A5)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5)> : transform(A0 , A1 , A2 , A3 , A4 , A5)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A8>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A8>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)> > { template struct impl : transform_impl { typedef proto::expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A8>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A9>::template impl()(e, s, d) ) ); } }; }; template struct make(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)> : transform(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)> > { template struct impl : transform_impl { typedef proto::basic_expr result_type; BOOST_FORCEINLINE result_type operator ()( typename impl::expr_param e , typename impl::state_param s , typename impl::data_param d ) const { return proto::basic_expr::make( detail::as_lvalue( typename when<_, A0>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A1>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A2>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A3>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A4>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A5>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A6>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A7>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A8>::template impl()(e, s, d) ) , detail::as_lvalue( typename when<_, A9>::template impl()(e, s, d) ) ); } }; };