/usr/include/boost/proto/detail/preprocessed
NameSizeModeActions
and_n.hpp156630644editdlrm
args.hpp57400644editdlrm
basic_expr.hpp223530644editdlrm
class_member_traits.hpp58870644editdlrm
deduce_domain_n.hpp81920644editdlrm
deep_copy.hpp169580644editdlrm
expr.hpp1236950644editdlrm
expr_variadic.hpp590840644editdlrm
extends_funop.hpp131150644editdlrm
extends_funop_const.hpp70160644editdlrm
funop.hpp150320644editdlrm
generate_by_value.hpp192000644editdlrm
lambda_matches.hpp79410644editdlrm
make_expr.hpp120040644editdlrm
make_expr_.hpp218140644editdlrm
make_expr_funop.hpp90580644editdlrm
matches_.hpp387500644editdlrm
memfun_funop.hpp39740644editdlrm
or_n.hpp54570644editdlrm
poly_function_funop.hpp140110644editdlrm
poly_function_traits.hpp129850644editdlrm
template_arity_helper.hpp34510644editdlrm
traits.hpp521950644editdlrm
unpack_expr_.hpp452660644editdlrm
vararg_matches_impl.hpp74220644editdlrm
Edit: /usr/include/boost/proto/detail/preprocessed/deep_copy.hpp (16958B)
/////////////////////////////////////////////////////////////////////////////// /// \file deep_copy.hpp /// Replace all nodes stored by reference by nodes stored by value. // // 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 deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list1< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list2< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list3< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list4< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list5< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list6< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child5 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) , proto::deep_copy(e.proto_base().child5) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list7< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child5 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child6 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) , proto::deep_copy(e.proto_base().child5) , proto::deep_copy(e.proto_base().child6) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list8< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child5 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child6 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child7 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) , proto::deep_copy(e.proto_base().child5) , proto::deep_copy(e.proto_base().child6) , proto::deep_copy(e.proto_base().child7) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list9< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child5 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child6 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child7 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child8 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) , proto::deep_copy(e.proto_base().child5) , proto::deep_copy(e.proto_base().child6) , proto::deep_copy(e.proto_base().child7) , proto::deep_copy(e.proto_base().child8) }; return proto_generator()(that); } }; template struct deep_copy_impl { typedef typename base_expr< typename Expr::proto_domain , typename Expr::proto_tag , list10< typename deep_copy_impl< typename remove_reference< typename Expr::proto_child0 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child1 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child2 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child3 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child4 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child5 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child6 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child7 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child8 >::type::proto_derived_expr >::result_type , typename deep_copy_impl< typename remove_reference< typename Expr::proto_child9 >::type::proto_derived_expr >::result_type > >::type expr_type; typedef typename Expr::proto_generator proto_generator; typedef typename proto_generator::template result::type result_type; template result_type operator()(Expr2 const &e, S const &, D const &) const { expr_type const that = { proto::deep_copy(e.proto_base().child0) , proto::deep_copy(e.proto_base().child1) , proto::deep_copy(e.proto_base().child2) , proto::deep_copy(e.proto_base().child3) , proto::deep_copy(e.proto_base().child4) , proto::deep_copy(e.proto_base().child5) , proto::deep_copy(e.proto_base().child6) , proto::deep_copy(e.proto_base().child7) , proto::deep_copy(e.proto_base().child8) , proto::deep_copy(e.proto_base().child9) }; return proto_generator()(that); } };