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

A generator that replaces child nodes held by reference with ones held by value. More...

#include <generate.hpp>

Classes

struct  result
 
struct  result< This(Expr &)>
 
struct  result< This(Expr const &)>
 
struct  result< This(Expr)>
 

Public Member Functions

template<typename Expr >
BOOST_FORCEINLINE result
< by_value_generator(Expr)>
::type 
operator() (Expr const &e) const
 

Detailed Description

A generator that replaces child nodes held by reference with ones held by value.

Use with compose_generators to forward that result to another generator.

Generators are intended for use as the first template parameter to the domain<> class template and control if and how expressions within that domain are to be customized. by_value_generator ensures all child nodes are held by value. This generator is typically composed with a second generator for further processing, as compose_generators<by_value_generator, MyGenerator>.

Member Function Documentation

template<typename Expr >
BOOST_FORCEINLINE result<by_value_generator(Expr)>::type boost::proto::by_value_generator::operator() ( Expr const &  e) const
inline
Parameters
exprThe expression to modify.
Returns
deep_copy(expr)

References boost::spirit::x3::detail::call().


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