UNPKG

boost-react-native-bundle

Version:

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

281 lines (263 loc) 11.1 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/debug.hpp"> <para>Utilities for debugging Proto expression trees </para> <namespace name="boost"> <namespace name="proto"> <namespace name="functional"> <!-- proto::functional::display_expr --> <struct name="display_expr"> <purpose>Pretty-print a Proto expression tree. </purpose> <description> <para> A <conceptname>PolymorphicFunctionObject</conceptname> which accepts a Proto expression tree and pretty-prints it to an <computeroutput>ostream</computeroutput> for debugging purposes. </para> </description> <typedef name="result_type"> <type>void</type> </typedef> <method-group name="public member functions"> <method name="operator()" cv="const"> <type>void</type> <template> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> </parameter> </method> </method-group> <constructor> <parameter name="sout"><paramtype>std::ostream &amp;</paramtype><default>std::cout</default> <description> <para> The <computeroutput>ostream</computeroutput> to which the expression tree will be written. </para> </description> </parameter> <parameter name="depth"> <paramtype>int</paramtype> <default>0</default> <description> <para> The starting indentation depth for this node. Children nodes will be displayed at a starting depth of <computeroutput>depth+4</computeroutput>. </para> </description> </parameter> </constructor> </struct> </namespace> <!-- proto::display_expr --> <overloaded-function name="display_expr"> <signature> <type>void</type> <template> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> <description> <para>The Proto expression tree to pretty-print </para> </description> </parameter> <parameter name="sout"> <paramtype>std::ostream &amp;</paramtype> <description> <para> The <computeroutput>ostream</computeroutput> to which the output should be written. If not specified, defaults to <computeroutput>std::cout</computeroutput>. </para> </description> </parameter> </signature> <signature> <type>void</type> <template> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> </parameter> </signature> <purpose>Pretty-print a Proto expression tree. </purpose> <notes> <para> Equivalent to <computeroutput><classname alt="boost::proto::functional::display_expr">proto::functional::display_expr</classname>(0, sout)(expr)</computeroutput>. </para> </notes> </overloaded-function> <!-- proto::assert_matches --> <function name="assert_matches"> <type>void</type> <template> <template-type-parameter name="Grammar"/> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> <purpose> The Proto expression to check againts <code>Grammar</code>. </purpose> </parameter> <purpose> Assert at compile time that a particular expression matches the specified grammar. </purpose> <notes> <para> Equivalent to <code>BOOST_MPL_ASSERT((<classname alt="proto::matches">proto::matches</classname>&lt;Expr, Grammar&gt;))</code>. </para> </notes> <description> <para> Use <code>proto::assert_matches()</code> to assert at compile-time that an expression matches a grammar. </para> <para> <emphasis role="bold">Example:</emphasis><programlisting>typedef proto::plus&lt; proto::terminal&lt; int &gt;, proto::terminal&lt; int &gt; &gt; PlusInts; proto::assert_matches&lt;PlusInts&gt;( <functionname>proto::lit</functionname>(1) + 42 );</programlisting> </para> <para> See also: <itemizedlist> <listitem> <code><functionname>proto::assert_matches_not</functionname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES</macroname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES_NOT</macroname>()</code> </listitem> </itemizedlist> </para> </description> </function> <!-- proto::assert_matches_not --> <function name="assert_matches_not"> <type>void</type> <template> <template-type-parameter name="Grammar"/> <template-type-parameter name="Expr"/> </template> <parameter name="expr"> <paramtype>Expr const &amp;</paramtype> <purpose> The Proto expression to check againts <code>Grammar</code>. </purpose> </parameter> <purpose> Assert at compile time that a particular expression does not match the specified grammar. </purpose> <notes> <para> Equivalent to <code>BOOST_MPL_ASSERT_NOT((<classname alt="proto::matches">proto::matches</classname>&lt;Expr, Grammar&gt;))</code>. </para> </notes> <description> <para> Use <code>proto::assert_matches_not()</code> to assert at compile-time that an expression does not match a grammar. </para> <para> <emphasis role="bold">Example:</emphasis><programlisting>typedef proto::plus&lt; proto::terminal&lt; int &gt;, proto::terminal&lt; int &gt; &gt; PlusInts; proto::assert_matches_not&lt;PlusInts&gt;( <functionname>proto::lit</functionname>("a string") + 42 );</programlisting> </para> <para> See also: <itemizedlist> <listitem> <code><functionname>proto::assert_matches</functionname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES</macroname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES_NOT</macroname>()</code> </listitem> </itemizedlist> </para> </description> </function> </namespace> </namespace> <macro name="BOOST_PROTO_ASSERT_MATCHES" kind="functionlike"> <macro-parameter name="expr"/> <macro-parameter name="Grammar"/> <purpose> Assert at compile time that a particular expression matches the specified grammar. </purpose> <notes> <para> Equivalent to <code><functionname alt="boost::proto::assert_matches">proto::assert_matches</functionname>&lt;Grammar&gt;(expr)</code>. </para> </notes> <description> <para> Use <code>BOOST_PROTO_ASSERT_MATCHES()</code> to assert at compile-time that an expression matches a grammar. </para> <para> <emphasis role="bold">Example:</emphasis><programlisting>typedef <classname alt="boost::proto::plus">proto::plus</classname>&lt; <classname alt="boost::proto::terminal">proto::terminal</classname>&lt; int &gt;, <classname alt="boost::proto::terminal">proto::terminal</classname>&lt; int &gt; &gt; PlusInts; BOOST_PROTO_ASSERT_MATCHES( <functionname alt="boost::proto::lit">proto::lit</functionname>(1) + 42, PlusInts );</programlisting> </para> <para> See also: <itemizedlist> <listitem> <code><functionname alt="boost::proto::assert_matches">proto::assert_matches</functionname>()</code> </listitem> <listitem> <code><functionname alt="boost::proto::assert_matches_not">proto::assert_matches_not</functionname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES_NOT</macroname>()</code> </listitem> </itemizedlist> </para> </description> </macro> <macro name="BOOST_PROTO_ASSERT_MATCHES_NOT" kind="functionlike"> <macro-parameter name="expr"/> <macro-parameter name="Grammar"/> <purpose> Assert at compile time that a particular expression does not match the specified grammar. </purpose> <notes> <para> Equivalent to <code><functionname alt="boost::proto::assert_matches_not">proto::assert_matches_not</functionname>&lt;Grammar&gt;(expr)</code>. </para> </notes> <description> <para> Use <code>BOOST_PROTO_ASSERT_MATCHES_NOT()</code> to assert at compile-time that an expression does not match a grammar. </para> <para> <emphasis role="bold">Example:</emphasis><programlisting>typedef <classname alt="boost::proto::plus">proto::plus</classname>&lt; <classname alt="boost::proto::terminal">proto::terminal</classname>&lt; int &gt;, <classname alt="boost::proto::terminal">proto::terminal</classname>&lt; int &gt; &gt; PlusInts; BOOST_PROTO_ASSERT_MATCHES_NOT( <functionname alt="boost::proto::lit">proto::lit</functionname>("a string") + 42, PlusInts );</programlisting> </para> <para> See also: <itemizedlist> <listitem> <code><functionname alt="boost::proto::assert_matches">proto::assert_matches</functionname>()</code> </listitem> <listitem> <code><functionname alt="boost::proto::assert_matches_not">proto::assert_matches_not</functionname>()</code> </listitem> <listitem> <code><macroname>BOOST_PROTO_ASSERT_MATCHES</macroname>()</code> </listitem> </itemizedlist> </para> </description> </macro> </header>