Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is an old version of boost. Click here for the latest version's documentation home page.

Function template deep_copy

boost::proto::deep_copy — A function for deep-copying Proto expression trees.


// In header: <boost/proto/deep_copy.hpp>

template<typename Expr> 
  typename proto::result_of::deep_copy<Expr>::type 
  deep_copy(Expr const & expr);


A function for deep-copying Proto expression trees. When a tree is deep-copied, all internal nodes and terminals held by reference are instead held by value.


Terminals of reference-to-function type are left unchanged.

Equivalent to proto::functional::deep_copy()(expr) .