Zach Laine
|
e979c07037
|
Generalize all expression-creating code to use a given expression template.
|
2016-12-07 20:01:20 -06:00 |
|
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
|
dbea6d3ed5
|
Fix compile_tests link.
|
2016-12-07 20:01:20 -06:00 |
|
Zach Laine
|
e08fc628ff
|
Preserve the expression template passed as Expr to transform, instead of converting it to an expression<>.
|
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
|
4d067bd072
|
Cruft removal.
|
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
|
44f5292e49
|
Add missing assembly to code_gen_samples.cpp.
|
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
|
5e845452bf
|
Change is_expr to accept the Expr concept instead of just an expression<>.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
1d31de114c
|
Change print() to print the Expr concept, not just expression<>s.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
0b2e571a9b
|
Add lazy_vector example (needs optimization).
|
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
|
7efb64403f
|
Add Boost license.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
3c6570055f
|
Remove detail::kind_of.
|
2016-12-07 20:01:19 -06:00 |
|
Zach Laine
|
7d243f40b0
|
Add calc examples.
|
2016-12-07 20:01:18 -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
|
e8eae00afe
|
Add -Wall; fix warnings.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
de4086622e
|
Add a first example, hello_world.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
96927a994c
|
Support moves in transform().
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
cb4d68f817
|
Grooming.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
316da24c25
|
Add naive transform().
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
9e9e306677
|
Add function terminal case to call_expr test.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
ed1b183ecd
|
Fix bitwise_xor_assign/subscript copy-paste error.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
19bdb22af8
|
Add more functions to code_gen_samples.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
93c4cb30a4
|
Make depth_stress_test* less extreme.
|
2016-12-07 20:01:18 -06:00 |
|
Zach Laine
|
3461b31f78
|
Print out the assembly generated for parts of code_gen_samples using lldb/gdb.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
e5872cfaf4
|
code_gen_samples to new perf directory.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
5805e55f8d
|
Add a code-gen sample, useful for getting the assembly generated for proto17 vs. straight c++ expressions.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
2f4f1a2858
|
Extend reference_returns test to cover placholder expressions.
|
2016-12-07 20:01:17 -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
|
9563d58153
|
depth_stress_test -> depth_stress_test_{left,right}
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
381447fb63
|
rhs_value_type* -> operand_value_type*
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
7cb4405c08
|
Update CMakeLists.txt files for Linux builds.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
55bcc46041
|
Refactor the call eval to remove a copy; thanks to Louis Dionne.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
1fbc68f611
|
Add test of templated transform_expression.
|
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
|
db5f016146
|
Update user_expression_transform test to highlight an error in transform matching.
|
2016-12-07 20:01:17 -06:00 |
|
Zach Laine
|
df97a1bcc1
|
Fix roken user_eval_expression_as test.
|
2016-12-07 20:01:16 -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 |
|