UNPKG

boost-react-native-bundle

Version:

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

61 lines (54 loc) 2.59 kB
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> <header name="boost/visit_each.hpp" last-revision="$Date$"> <namespace name="boost"> <function name="visit_each"> <template> <template-type-parameter name="Visitor"/> <template-type-parameter name="T"/> </template> <type>void</type> <parameter name="visitor"> <paramtype>const Visitor&amp;</paramtype> </parameter> <parameter name="t"> <paramtype>const T&amp;</paramtype> </parameter> <parameter> <paramtype>int</paramtype> </parameter> <purpose>Allow limited exploration of class members.</purpose> <description> <para>The <functionname>visit_each</functionname> mechanism allows a visitor to be applied to every subobject in a given object. It is used by the Signals library to discover <classname>signals::trackable</classname> objects within a function object, but other uses may surface if used universally (e.g., conservative garbage collection). To fit within the <functionname>visit_each</functionname> framework, a <functionname>visit_each</functionname> overload must be supplied for each object type. </para> </description> <effects><para><code>visitor(t)</code>, and for every subobject <code>x</code> of <code>t</code>: <itemizedlist> <listitem><para>If <code>x</code> is a reference, <code>visit_each(visitor, <functionname>ref</functionname>(x), 0)</code></para></listitem> <listitem><para>Otherwise, <code>visit_each(visitor, x, 0)</code></para></listitem> </itemizedlist> </para></effects> <notes><para>The third parameter is <code>long</code> for the fallback version of <functionname>visit_each</functionname> and the argument supplied to this third paramter must always be 0. The third parameter is an artifact of the widespread lack of proper function template ordering, and will be removed in the future.</para> <para>Library authors will be expected to add additional overloads that specialize the T argument for their classes, so that subobjects can be visited.</para> <para>Calls to visit_each are required to be unqualified, to enable argument-dependent lookup.</para></notes> </function> </namespace> </header>