reverse.xml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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/functional/fusion/reverse.hpp">
  9. <para>Includes Proto callable <computeroutput><classname>boost::proto::functional::reverse</classname></computeroutput>.</para>
  10. <namespace name="boost">
  11. <namespace name="proto">
  12. <namespace name="functional">
  13. <!-- proto::functional::reverse -->
  14. <struct name="reverse">
  15. <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
  16. <computeroutput>fusion::reverse()</computeroutput> algorithm on its argument.
  17. </purpose>
  18. <description>
  19. <para>
  20. A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
  21. <computeroutput>fusion::reverse()</computeroutput> algorithm on its argument. This is
  22. useful for defining a <conceptname>CallableTransform</conceptname> like
  23. <computeroutput>reverse(_)</computeroutput>, which reverses the order of the children
  24. of a Proto expression node.
  25. </para>
  26. </description>
  27. <inherit>
  28. <type><classname>proto::callable</classname></type>
  29. </inherit>
  30. <struct-specialization name="result">
  31. <template>
  32. <template-type-parameter name="This"/>
  33. <template-type-parameter name="Seq"/>
  34. </template>
  35. <specialization>
  36. <template-arg>This(Seq)</template-arg>
  37. </specialization>
  38. <inherit>
  39. <type>result&lt; This(Seq const &amp;) &gt;</type>
  40. </inherit>
  41. </struct-specialization>
  42. <struct-specialization name="result">
  43. <template>
  44. <template-type-parameter name="This"/>
  45. <template-type-parameter name="Seq"/>
  46. </template>
  47. <specialization>
  48. <template-arg>This(Seq &amp;)</template-arg>
  49. </specialization>
  50. <inherit>
  51. <type>fusion::result_of::reverse&lt; Seq &gt;</type>
  52. </inherit>
  53. </struct-specialization>
  54. <method-group name="public member functions">
  55. <method name="operator()" cv="const">
  56. <type>typename fusion::result_of::reverse&lt; Seq &gt;::type</type>
  57. <template>
  58. <template-type-parameter name="Seq"/>
  59. </template>
  60. <parameter name="seq">
  61. <paramtype>Seq &amp;</paramtype>
  62. </parameter>
  63. <returns>
  64. <para><computeroutput>fusion::reverse(seq)</computeroutput></para>
  65. </returns>
  66. </method>
  67. <method name="operator()" cv="const">
  68. <type>typename fusion::result_of::reverse&lt; Seq const &gt;::type</type>
  69. <template>
  70. <template-type-parameter name="Seq"/>
  71. </template>
  72. <parameter name="seq">
  73. <paramtype>Seq const &amp;</paramtype>
  74. </parameter>
  75. <returns>
  76. <para><computeroutput>fusion::reverse(seq)</computeroutput></para>
  77. </returns>
  78. </method>
  79. </method-group>
  80. </struct>
  81. </namespace>
  82. </namespace>
  83. </namespace>
  84. </header>