UNPKG

boost-react-native-bundle

Version:

Boost library as in https://sourceforge.net/projects/boost/files/boost/1.57.0/

107 lines (102 loc) 4.53 kB
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright 2012 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) --> <header name="boost/proto/deep_copy.hpp"> <para>Replace all nodes stored by reference by nodes stored by value.</para> <namespace name="boost"> <namespace name="proto"> <namespace name="result_of"> <!-- proto::result_of::deep_copy --> <struct name="deep_copy"> <template> <template-type-parameter name="Expr"/> </template> <purpose>A metafunction for calculating the return type of <computeroutput> <functionname alt="proto::deep_copy">proto::deep_copy()</functionname></computeroutput>.</purpose> <description> <para> A metafunction for calculating the return type of <computeroutput> <functionname alt="proto::deep_copy">proto::deep_copy()</functionname></computeroutput>. The type parameter <computeroutput>Expr</computeroutput> should be the type of a Proto expression tree. It should not be a reference type, nor should it be cv-qualified. </para> </description> <typedef name="type"> <type><emphasis>unspecified</emphasis></type> </typedef> </struct> </namespace> <namespace name="functional"> <!-- proto::functional::deep_copy --> <struct name="deep_copy"> <inherit> <type><classname>proto::callable</classname></type> </inherit> <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type for deep-copying Proto expression trees.</purpose> <description> <para> A <conceptname>PolymorphicFunctionObject</conceptname> type 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. The only exception is function references, which continue to be held by reference. </para> </description> <struct-specialization name="result"> <template> <template-type-parameter name="This"/> <template-type-parameter name="Expr"/> </template> <specialization> <template-arg>This(Expr)</template-arg> </specialization> <inherit> <type><classname>result_of::deep_copy</classname>&lt;Expr&gt;</type> </inherit> </struct-specialization> <method-group name="public member functions"> <method name="operator()" cv="const"> <type><classname>result_of::deep_copy</classname>&lt;Expr&gt;::type</type> <template> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> </parameter> <purpose>Deep-copies a Proto expression tree, turning all nodes and terminals held by reference into ones held by value.</purpose> </method> </method-group> </struct> </namespace> <!-- proto::deep_copy() --> <function name="deep_copy"> <type>typename <classname>proto::result_of::deep_copy</classname>&lt;Expr&gt;::type</type> <template> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> </parameter> <purpose>A function for deep-copying Proto expression trees. </purpose> <description> <para> 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.</para> </description> <notes> <para> Terminals of reference-to-function type are left unchanged. </para> <para> Equivalent to <computeroutput><classname>proto::functional::deep_copy</classname>()(expr) </computeroutput>. </para> </notes> </function> </namespace> </namespace> </header>