2
0
mirror of https://github.com/boostorg/yap.git synced 2026-02-26 05:12:13 +00:00
Commit Graph

32 Commits

Author SHA1 Message Date
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