yap.qbk
7.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
[/
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
/]
[library Boost.YAP
[quickbook 1.5]
[authors [Laine, Zach]]
[copyright 2018 T. Zachary Laine]
[category template]
[id yap]
[dirname yap]
[purpose
An expression template library for newer standards of C++.
]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
[@http://www.boost.org/LICENSE_1_0.txt])
]
]
[/ Imports ]
[import other_snippets.cpp]
[import ../example/hello_world.cpp]
[import ../example/hello_world_redux.cpp]
[import ../example/minimal.cpp]
[import ../example/calc1.cpp]
[import ../example/calc2a.cpp]
[import ../example/calc2b.cpp]
[import ../example/calc3.cpp]
[import ../example/lazy_vector.cpp]
[import ../example/self_evaluation.cpp]
[import ../example/tarray.cpp]
[import ../example/vec3.cpp]
[import ../example/vector.cpp]
[import ../example/mixed.cpp]
[import ../example/map_assign.cpp]
[import ../example/future_group.cpp]
[import ../example/autodiff_example.cpp]
[import ../example/transform_terminals.cpp]
[import ../example/pipable_algorithms.cpp]
[import ../example/let.cpp]
[import ../test/user_expression_transform_2.cpp]
[import ../perf/arithmetic_perf.cpp]
[import ../include/boost/yap/detail/transform.hpp]
[/ Images ]
[def __note__ [$images/note.png]]
[def __tip__ [$images/tip.png]]
[def __important__ [$images/important.png]]
[def __caution__ [$images/caution.png]]
[def __warning__ [$images/warning.png]]
[/ Links ]
[def _yap_ Boost.YAP]
[def _operators_ [link boost_yap.manual.operators Operators]]
[def _operator_macros_ [link boost_yap.manual.operator_macros Operator Macros]]
[def _Expr_ [link boost_yap.concepts.expression Expression]]
[def _Exprs_ [link boost_yap.concepts.expression Expressions]]
[def _ExprTmpl_ [link boost_yap.concepts.expressiontemplate ExpressionTemplate]]
[def _ExprTmpls_ [link boost_yap.concepts.expressiontemplate ExpressionTemplates]]
[def _XForm_ [link boost_yap.concepts.transform Transform]]
[def _XForms_ [link boost_yap.concepts.transform Transforms]]
[def _ExprXForm_ [link boost_yap.concepts.expressiontransform ExpressionTransform]]
[def _ExprXForms_ [link boost_yap.concepts.expressiontransform ExpressionTransforms]]
[def _TagXForm_ [link boost_yap.concepts.tagtransform TagTransform]]
[def _TagXForms_ [link boost_yap.concepts.tagtransform TagTransforms]]
[def _Callable_ [@http://en.cppreference.com/w/cpp/concept/Callable Callable]]
[def _Callables_ [@http://en.cppreference.com/w/cpp/concept/Callable Callables]]
[def _range_v3_ [@https://github.com/ericniebler/range-v3 Range-v3]]
[def _ast_ [@https://en.wikipedia.org/wiki/Abstract_syntax_tree abstract syntax tree]]
[def _let_ [@http://www.boost.org/doc/libs/1_66_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html `let()`]]
[def _expr_ [classref boost::yap::expression `expression<>`]]
[def _exprs_ [classref boost::yap::expression `expression<>`s]]
[def _kind_ [enumref boost::yap::expr_kind `expr_kind`]]
[def _terminal_ [link boost.yap.expr_kind.terminal `expr_kind::terminal`]]
[def _placeholder_ [classref boost::yap::placeholder `placeholder<>`]]
[def _if_else_ [link boost.yap.expr_kind.if_else `expr_kind::if_else`]]
[def _expr_ref_ [link boost.yap.expr_kind.expr_ref `expr_kind::expr_ref`]]
[def _xform_ [funcref boost::yap::transform `transform()`]]
[def _xform_strict_ [funcref boost::yap::transform_strict `transform_strict()`]]
[def _evaluation_ [funcref boost::yap::evaluation `evaluation()`]]
[def _eval_ [funcref boost::yap::evaluate `evaluate()`]]
[def _replacements_ [funcref boost::yap::replacements `replacements()`]]
[def _replace_placeholders_ [funcref boost::yap::replace_placeholders `replace_placeholders()`]]
[def _tuple_ `boost::hana::tuple<>`]
[def _eval_xform_ `evaluate(transform())`]
[def _xform_as_eval_ `transform()`-as-evaluate]
[def _alg_header_ `<boost/yap/algorithm.hpp>` header]
[def _yap_header_ `<boost/yap/yap.hpp>` header]
[def _expr_header_ `<boost/yap/expression.hpp>` header]
[def _print_header_ `<boost/yap/print.hpp>` header]
[def _make_term_ [funcref boost::yap::make_terminal `make_terminal()`]]
[def _make_expr_ [funcref boost::yap::make_expression `make_expression()`]]
[def _make_expr_fn_ [funcref boost::yap::make_expression_function `make_expression_function()`]]
[def _as_expr_ [funcref boost::yap::as_expr `as_expr()`]]
[def _left_ [funcref boost::yap::left `left()`]]
[def _right_ [funcref boost::yap::right `right()`]]
[def _value_ [funcref boost::yap::value `value()`]]
[def _print_ [funcref boost::yap::print `print()`]]
[def _unary_m_ [macroref BOOST_YAP_USER_UNARY_OPERATOR]]
[def _binary_m_ [macroref BOOST_YAP_USER_BINARY_OPERATOR]]
[def _member_call_m_ [macroref BOOST_YAP_USER_CALL_OPERATOR]]
[def _member_call_n_m_ [macroref BOOST_YAP_USER_CALL_OPERATOR_N]]
[def _member_assign_m_ [macroref BOOST_YAP_USER_ASSIGN_OPERATOR]]
[def _member_subscript_m_ [macroref BOOST_YAP_USER_SUBSCRIPT_OPERATOR]]
[def _expr_if_else_m_ [macroref BOOST_YAP_USER_EXPR_IF_ELSE]]
[def _udt_any_if_else_m_ [macroref BOOST_YAP_USER_UDT_ANY_IF_ELSE]]
[def _udt_unary_m_ [macroref BOOST_YAP_USER_UDT_UNARY_OPERATOR]]
[def _udt_udt_binary_m_ [macroref BOOST_YAP_USER_UDT_UDT_BINARY_OPERATOR]]
[def _udt_any_binary_m_ [macroref BOOST_YAP_USER_UDT_ANY_BINARY_OPERATOR]]
[def _no_constexpr_if_m_ [macroref BOOST_NO_CONSTEXPR_IF]]
[def _literal_op_m_ [macroref BOOST_YAP_USER_LITERAL_PLACEHOLDER_OPERATOR]]
[def _spirit_ [@http://boost-spirit.com Boost.Spirit]]
[def _eigen_ [@http://eigen.tuxfamily.org Eigen]]
[def _nt2_ [@https://www.lri.fr/~falcou/nt2 NT2]]
[def _range_v3_ [@https://github.com/ericniebler/range-v3 Range-v3]]
[def _Ets_ Expression templates]
[def _et_ expression template]
[def _ets_ expression templates]
[def _emdash_ \u2014]
[def _how_treated_ [link boost_yap.manual.how_expression_operands_are_treated How Expression Operands Are Treated]]
[def _examples_ [link boost_yap.manual.examples Examples]]
[def _calc3_ [link boost_yap.manual.examples.calc3 Calc3]]
[def _mixed_ [link boost_yap.manual.examples.mixed Mixed]]
[def _vector_ [link boost_yap.manual.examples.vector Vector]]
[def _lazy_vector_ [link boost_yap.manual.examples.lazy_vector Lazy Vector]]
[def _self_eval_ [link boost_yap.manual.examples.self_evaluation Self-Evaluating Expressions]]
[def _tarray_ [link boost_yap.manual.examples.tarray TArray]]
[def _future_group_ [link boost_yap.manual.examples.future_group Future Group]]
[def _pipable_algorithms_ [link boost_yap.manual.examples.pipable_algorithms Pipable Algorithms]]
[include intro.qbk]
[include manual.qbk]
[include concepts.qbk]
[include compiler_support.qbk]
[include dependencies.qbk]
[section Reference]
[xinclude yap_reference.xml]
[endsect]
[/ [template named_index[type title]
/ '''<index type="'''[type]'''"><title>'''[title]'''</title></index>'''
/ ]
/ [named_index class_name Class Index]
/ [named_index function_name Function Index]
/ [named_index macro_name Macro Index]
/]
[include rationale.qbk]