null.xml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. Copyright 2012 Eric Niebler
  4. Distributed under the Boost
  5. Software License, Version 1.0. (See accompanying
  6. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. -->
  8. <header name="boost/proto/context/null.hpp">
  9. <para>
  10. Definintion of
  11. <computeroutput><classname alt="boost::proto::context::null_context">proto::context::null_context&lt;&gt;</classname></computeroutput>,
  12. an evaluation context for
  13. <computeroutput><functionname alt="boost::proto::eval">proto::eval()</functionname></computeroutput>
  14. that simply evaluates each child expression, doesn't combine the results at all, and returns void.
  15. </para>
  16. <namespace name="boost">
  17. <namespace name="proto">
  18. <namespace name="context">
  19. <struct name="null_eval">
  20. <template>
  21. <template-type-parameter name="Expr"/>
  22. <template-type-parameter name="Context"/>
  23. </template>
  24. <typedef name="result_type">
  25. <type>void</type>
  26. </typedef>
  27. <method-group name="public member functions">
  28. <method name="operator()" cv="const">
  29. <type>void</type>
  30. <parameter name="expr">
  31. <paramtype>Expr &amp;</paramtype>
  32. </parameter>
  33. <parameter name="context">
  34. <paramtype>Context &amp;</paramtype>
  35. </parameter>
  36. <description>
  37. <para>
  38. For <computeroutput>N</computeroutput> in <computeroutput>[0,Expr arity)</computeroutput>,
  39. evaluate:
  40. <programlisting><functionname>proto::eval</functionname>(<functionname>proto::child_c</functionname>&lt;N&gt;(expr), context)</programlisting>
  41. </para>
  42. </description>
  43. </method>
  44. </method-group>
  45. </struct>
  46. <struct name="null_context">
  47. <purpose>An evaluation context for <functionname alt="proto::eval">proto::eval()</functionname> that simply evaluates
  48. each child expression, doesn't combine the results at all, and returns void.</purpose>
  49. <struct name="eval">
  50. <template>
  51. <template-type-parameter name="Expr"/>
  52. <template-type-parameter name="ThisContext">
  53. <default>null_context const</default>
  54. </template-type-parameter>
  55. </template>
  56. <inherit><classname>proto::context::null_eval</classname>&lt; Expr, ThisContext &gt;</inherit>
  57. </struct>
  58. </struct>
  59. </namespace>
  60. </namespace>
  61. </namespace>
  62. </header>