Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::functional::deep_copy Struct Reference

A PolymorphicFunctionObject type for deep-copying Proto expression trees. More...

#include <deep_copy.hpp>

Classes

struct  result
 
struct  result< This(Expr)>
 

Public Member Functions

template<typename Expr >
result_of::deep_copy< Expr >::type operator() (Expr const &e) const
 Deep-copies a Proto expression tree, turning all nodes and terminals held by reference into ones held by value. More...
 

Detailed Description

A PolymorphicFunctionObject type for deep-copying Proto expression trees.

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

Attention
Terminals of reference-to-function type are left unchanged. Terminals of reference-to-array type are stored by value, which can cause a large amount of data to be passed by value and stored on the stack.

Member Function Documentation

template<typename Expr >
result_of::deep_copy<Expr>::type boost::proto::functional::deep_copy::operator() ( Expr const &  e) const
inline

Deep-copies a Proto expression tree, turning all nodes and terminals held by reference into ones held by value.


The documentation for this struct was generated from the following file: