Commit Graph

101 Commits

Author SHA1 Message Date
Zach Laine
5d539bbb81 Swap order of template params to terminal<> and expression_ref<> aliases to match the convention of the rest of the library. 2016-12-07 20:01:27 -06:00
Zach Laine
1964805e89 Break up headers into more chunks. 2016-12-07 20:01:27 -06:00
Zach Laine
0be3b9795d Add a test that exercises all the unary operators. 2016-12-07 20:01:26 -06:00
Zach Laine
51d542e2d6 Add a test based on the lazy_vector example. 2016-12-07 20:01:26 -06:00
Zach Laine
cd7d8678d3 Add specialization of default_transform_expression for expr_arity::three; add cond(), then(), else_() accessors. 2016-12-07 20:01:26 -06:00
Zach Laine
a8fa2b4e23 Fix tests broken by value(), deref(), et al refactor. 2016-12-07 20:01:25 -06:00
Zach Laine
20b4b1a5e7 Fix the broken overload matching logic for call expressions; rearrange the relationships among value(), left(), right(), and deref(); add argument(). This breaks several tests. 2016-12-07 20:01:25 -06:00
Zach Laine
09057b9912 Split call_expr test into disjoint parts, which reveals that the test was masking an error. 2016-12-07 20:01:25 -06:00
Zach Laine
fa868399ec Add nonmatching overloads to the call_expr test. 2016-12-07 20:01:25 -06:00
Zach Laine
ce5a0a8744 Move lib headers to boost/yap. 2016-12-07 20:01:24 -06:00
Zach Laine
dda826b95c proto17 -> yap 2016-12-07 20:01:24 -06:00
Zach Laine
53e882212d Remove unhelpful TODOs. 2016-12-07 20:01:23 -06:00
Zach Laine
31b81ddfc0 Add right() test. 2016-12-07 20:01:23 -06:00
Zach Laine
89cc602e69 Add left() test. 2016-12-07 20:01:23 -06:00
Zach Laine
a57e2692f6 Add value() test. 2016-12-07 20:01:23 -06:00
Zach Laine
c615f2034d Add deref() test. 2016-12-07 20:01:22 -06:00
Zach Laine
d2b3453a60 Add test of printing user templates. 2016-12-07 20:01:22 -06:00
Zach Laine
37c7fd1167 Add a TODO. 2016-12-07 20:01:22 -06:00
Zach Laine
a4ea007d59 Add support for alternate transform function syntax, a la Boost.Proto, using the new tag types. 2016-12-07 20:01:22 -06:00
Zach Laine
818f0ba62e Make is_expr handle cv/ref quals. 2016-12-07 20:01:22 -06:00
Zach Laine
37940c5ec1 Remove the expr_ref specialization of expression. 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
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
0033b42734 Replace parameter pack in expression<> with a single Tuple param. 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
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
96927a994c Support moves in transform(). 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
93c4cb30a4 Make depth_stress_test* less extreme. 2016-12-07 20:01:18 -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
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
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
ddd5ceaca3 Move all compile-only test code to a standalone compile test. 2016-12-07 20:01:16 -06:00
Zach Laine
274b39ba86 Move more test code to standalone tests. 2016-12-07 20:01:16 -06:00
Zach Laine
9206d77b72 Move user_expression_transform to a standalone test. 2016-12-07 20:01:16 -06:00
Zach Laine
7e9e17b844 Move placeholder testing code to a standalone test. 2016-12-07 20:01:16 -06:00
Zach Laine
8d320d8caf Move call_expr() and reference_returns() into standalone tests. 2016-12-07 20:01:16 -06:00
Zach Laine
c720fd0088 Move depth stress test code to standalone test. 2016-12-07 20:01:16 -06:00
Zach Laine
d65099c75b Add first real standalone test, of print(). 2016-12-07 20:01:15 -06:00