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]
|