Zach Laine
|
ae35d5b552
|
Implement expression::{value,left,right}() in terms of the free versions.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
37940c5ec1
|
Remove the expr_ref specialization of expression.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
dca3c2712a
|
Replace .value calls with elaborated calls to the free value().
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
a7efab8a1a
|
Replace half-baked BOOST_PROTO17_USER_MEMBER_OPERATOR_IMPL with fully reusable macros for free operators and unary and binary members.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
ad85e854f0
|
Remove moot TODOs.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
d670025ec3
|
Simplify lazy_vector.cpp with a new convenience macro.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
29a7bedc00
|
Add reference-to-expr expr_kind expr_ref; expressions used in other expressions are now captured by reference.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
3a69ba1869
|
Remove left(), right() from the terminal specialization of expression<>.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
0033b42734
|
Replace parameter pack in expression<> with a single Tuple param.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
175d0d2f28
|
Remove the expression ctor taking individual values; add specialization for terminal that does.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
514fd94b1e
|
Add reference qualified overloaded value(), left(), and right() expression members, and free versions of same.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
5b7cd4c71e
|
typename operand_type<>::type -> operand_type_t<>
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
f52633f0fb
|
Add expression_function.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
e7957852dc
|
1-based placeholders.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
316da24c25
|
Add naive transform().
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
15e70fefe1
|
Pass individual args through evaluate*(), instead of making a tuple of them.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
d1c3734945
|
Remove use of eval_expression_as on subexpressions; add transform_expression.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
c48e7fb8fa
|
decltype(auto) -> auto
|
2016-12-07 20:01:16 -06:00 |
|
Zach Laine
|
9547eb1b6d
|
Add remaining free operators; remove stream output operator support.
|
2016-12-07 20:01:16 -06:00 |
|
Zach Laine
|
42af863c4d
|
Move last bits of sketch.cpp to standalone compile test.
|
2016-12-07 20:01:16 -06:00 |
|
Zach Laine
|
863f5fe655
|
rhs_type -> operand_type
|
2016-12-07 20:01:16 -06:00 |
|
Zach Laine
|
112466ad6e
|
Add BOOST_PROTO17_CONVERSION_OPERATOR_TEMPLATE.
|
2016-12-07 20:01:15 -06:00 |
|
Zach Laine
|
d6df84fb84
|
Use eval_expression_as() in the recursive cases of default_eval_expression().
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
8419dd32a9
|
Add simple expression transform test.
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
ca4856f3b5
|
Add unary operators.
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
7cc60e87d4
|
Add remaining binary operators.
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
2ab89e9851
|
Cruft removal.
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
f621e86cdf
|
auto -> decltype(auto)
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
f9391f2a7f
|
Add call operator support.
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
bfb16509bd
|
evaluate_expression_as -> eval_expression_as
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
2e9eeb9c1e
|
Initial version of evaluate_expression_as() as a customization point (hopefully to be improved).
|
2016-12-07 20:01:14 -06:00 |
|
Zach Laine
|
63922a7cfd
|
Factor out detail/default_eval.hpp and expression.hpp.
|
2016-12-07 20:01:14 -06:00 |
|