integral_c.xml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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/transform/integral_c.hpp">
  9. <para>Contains definition of the integral_c transform and friends.</para>
  10. <namespace name="boost">
  11. <namespace name="proto">
  12. <struct name="integral_c">
  13. <template>
  14. <template-type-parameter name="T"/>
  15. <template-nontype-parameter name="I">
  16. <type>T</type>
  17. </template-nontype-parameter>
  18. </template>
  19. <inherit><classname>proto::transform</classname>&lt; integral_c&lt; T, I &gt; &gt;</inherit>
  20. <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified integral constant.</purpose>
  21. <struct name="impl">
  22. <template>
  23. <template-type-parameter name="Expr"/>
  24. <template-type-parameter name="State"/>
  25. <template-type-parameter name="Data"/>
  26. </template>
  27. <inherit><classname>proto::transform_impl</classname>&lt; Expr, State, Data &gt;</inherit>
  28. <typedef name="result_type">
  29. <type>T</type>
  30. </typedef>
  31. <method-group name="public member functions">
  32. <method name="operator()" cv="const">
  33. <type>T</type>
  34. <parameter name="">
  35. <paramtype>typename impl::expr_param</paramtype>
  36. </parameter>
  37. <parameter name="">
  38. <paramtype>typename impl::state_param</paramtype>
  39. </parameter>
  40. <parameter name="">
  41. <paramtype>typename impl::data_param</paramtype>
  42. </parameter>
  43. <returns>
  44. <para>
  45. <computeroutput>I</computeroutput>
  46. </para>
  47. </returns>
  48. <throws>
  49. <simpara>Will not throw.</simpara>
  50. </throws>
  51. </method>
  52. </method-group>
  53. </struct>
  54. </struct>
  55. <struct name="char_">
  56. <template>
  57. <template-nontype-parameter name="I">
  58. <type>char</type>
  59. </template-nontype-parameter>
  60. </template>
  61. <inherit><classname>proto::integral_c</classname>&lt; char, I &gt;</inherit>
  62. <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified char.</purpose>
  63. </struct>
  64. <struct name="int_">
  65. <template>
  66. <template-nontype-parameter name="I">
  67. <type>int</type>
  68. </template-nontype-parameter>
  69. </template>
  70. <inherit><classname>proto::integral_c</classname>&lt; int, I &gt;</inherit>
  71. <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified int.</purpose>
  72. </struct>
  73. <struct name="long_">
  74. <template>
  75. <template-nontype-parameter name="I">
  76. <type>long</type>
  77. </template-nontype-parameter>
  78. </template>
  79. <inherit><classname>proto::integral_c</classname>&lt; long, I &gt;</inherit>
  80. <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified long.</purpose>
  81. </struct>
  82. <struct name="size_t">
  83. <template>
  84. <template-nontype-parameter name="I">
  85. <type>std::size_t</type>
  86. </template-nontype-parameter>
  87. </template>
  88. <inherit><classname>proto::integral_c</classname>&lt; std::size_t, I &gt;</inherit>
  89. <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified std::size_t.</purpose>
  90. </struct>
  91. </namespace>
  92. </namespace>
  93. </header>