]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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/context/null.hpp"> | |
10 | <para> | |
11 | Definintion of | |
12 | <computeroutput><classname alt="boost::proto::context::null_context">proto::context::null_context<></classname></computeroutput>, | |
13 | an evaluation context for | |
14 | <computeroutput><functionname alt="boost::proto::eval">proto::eval()</functionname></computeroutput> | |
15 | that simply evaluates each child expression, doesn't combine the results at all, and returns void. | |
16 | </para> | |
17 | <namespace name="boost"> | |
18 | <namespace name="proto"> | |
19 | <namespace name="context"> | |
20 | <struct name="null_eval"> | |
21 | <template> | |
22 | <template-type-parameter name="Expr"/> | |
23 | <template-type-parameter name="Context"/> | |
24 | </template> | |
25 | <typedef name="result_type"> | |
26 | <type>void</type> | |
27 | </typedef> | |
28 | <method-group name="public member functions"> | |
29 | <method name="operator()" cv="const"> | |
30 | <type>void</type> | |
31 | <parameter name="expr"> | |
32 | <paramtype>Expr &</paramtype> | |
33 | </parameter> | |
34 | <parameter name="context"> | |
35 | <paramtype>Context &</paramtype> | |
36 | </parameter> | |
37 | <description> | |
38 | <para> | |
39 | For <computeroutput>N</computeroutput> in <computeroutput>[0,Expr arity)</computeroutput>, | |
40 | evaluate: | |
41 | <programlisting><functionname>proto::eval</functionname>(<functionname>proto::child_c</functionname><N>(expr), context)</programlisting> | |
42 | </para> | |
43 | </description> | |
44 | </method> | |
45 | </method-group> | |
46 | </struct> | |
47 | ||
48 | <struct name="null_context"> | |
49 | <purpose>An evaluation context for <functionname alt="proto::eval">proto::eval()</functionname> that simply evaluates | |
50 | each child expression, doesn't combine the results at all, and returns void.</purpose> | |
51 | <struct name="eval"> | |
52 | <template> | |
53 | <template-type-parameter name="Expr"/> | |
54 | <template-type-parameter name="ThisContext"> | |
55 | <default>null_context const</default> | |
56 | </template-type-parameter> | |
57 | </template> | |
58 | <inherit><classname>proto::context::null_eval</classname>< Expr, ThisContext ></inherit> | |
59 | </struct> | |
60 | </struct> | |
61 | </namespace> | |
62 | </namespace> | |
63 | </namespace> | |
64 | </header> |