• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  Copyright 2012 Eric Niebler
4
5  Distributed under the Boost
6  Software License, Version 1.0. (See accompanying
7  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8  -->
9<header name="boost/proto/transform/integral_c.hpp">
10  <para>Contains definition of the integral_c transform and friends.</para>
11  <namespace name="boost">
12    <namespace name="proto">
13
14      <struct name="integral_c">
15        <template>
16          <template-type-parameter name="T"/>
17          <template-nontype-parameter name="I">
18            <type>T</type>
19          </template-nontype-parameter>
20        </template>
21        <inherit><classname>proto::transform</classname>&lt; integral_c&lt; T, I &gt; &gt;</inherit>
22        <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified integral constant.</purpose>
23        <struct name="impl">
24          <template>
25            <template-type-parameter name="Expr"/>
26            <template-type-parameter name="State"/>
27            <template-type-parameter name="Data"/>
28          </template>
29          <inherit><classname>proto::transform_impl</classname>&lt; Expr, State, Data &gt;</inherit>
30          <typedef name="result_type">
31            <type>T</type>
32          </typedef>
33          <method-group name="public member functions">
34            <method name="operator()" cv="const">
35              <type>T</type>
36              <parameter name="">
37                <paramtype>typename impl::expr_param</paramtype>
38              </parameter>
39              <parameter name="">
40                <paramtype>typename impl::state_param</paramtype>
41              </parameter>
42              <parameter name="">
43                <paramtype>typename impl::data_param</paramtype>
44              </parameter>
45              <returns>
46                <para>
47                  <computeroutput>I</computeroutput>
48                </para>
49              </returns>
50              <throws>
51                <simpara>Will not throw.</simpara>
52              </throws>
53            </method>
54          </method-group>
55        </struct>
56      </struct>
57
58      <struct name="char_">
59        <template>
60          <template-nontype-parameter name="I">
61            <type>char</type>
62          </template-nontype-parameter>
63        </template>
64        <inherit><classname>proto::integral_c</classname>&lt; char, I &gt;</inherit>
65        <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified char.</purpose>
66      </struct>
67
68      <struct name="int_">
69        <template>
70          <template-nontype-parameter name="I">
71            <type>int</type>
72          </template-nontype-parameter>
73        </template>
74        <inherit><classname>proto::integral_c</classname>&lt; int, I &gt;</inherit>
75        <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified int.</purpose>
76      </struct>
77
78      <struct name="long_">
79        <template>
80          <template-nontype-parameter name="I">
81            <type>long</type>
82          </template-nontype-parameter>
83        </template>
84        <inherit><classname>proto::integral_c</classname>&lt; long, I &gt;</inherit>
85        <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified long.</purpose>
86      </struct>
87
88      <struct name="size_t">
89        <template>
90          <template-nontype-parameter name="I">
91            <type>std::size_t</type>
92          </template-nontype-parameter>
93        </template>
94        <inherit><classname>proto::integral_c</classname>&lt; std::size_t, I &gt;</inherit>
95        <purpose>A <conceptname>PrimitiveTransform</conceptname> that returns the specified std::size_t.</purpose>
96      </struct>
97
98    </namespace>
99  </namespace>
100</header>
101