Zach Laine
|
a0913e71d5
|
Add is{, not} expression static_asserts to relevant API.
|
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
|
3519bcd576
|
Add deref() to expression_fwd.hpp.
|
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
|
5c3688a1c3
|
Do {left,right} on the refered-to object when the arg is an expr_ref in {left,right}(), and use remove_cv_ref on Expr throughout {value,left,right}().
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
820d614865
|
Add deref().
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
b0c56cac32
|
auto -> decltype(auto) on transform().
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
e36bc36c5a
|
Add detail::expr_arity and expression tag types.
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
d1601f7da6
|
Update tarray,vec3 to use as_expr().
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
804aaaebef
|
Add es_expr().
|
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
|
e6d50952fb
|
Fix broken assignment from scalar in tarray and vec3.
|
2016-12-07 20:01:22 -06:00 |
|
Zach Laine
|
b84542860b
|
TArray -> tarray
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
6c51d601cf
|
Add vec3 sample.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
fa0be8c9a1
|
Remove addressed TODO.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
fc075fb808
|
Restore the previous single version of make_terminal().
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
f67896187e
|
Simplify lazy_vector example.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
c92716a54b
|
Simplify TArray example.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
42e029a29c
|
Add op_string().
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
09608ed3d5
|
Correct lvalue/rvalue confusion in default transform code and make_terminal().
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
43677fe9dc
|
Add TArray example.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
1f8d115a3d
|
Fix lhs construction in free operator macros.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
71755916e7
|
Correct tempalte paramater confusion in the terminal specialization.
|
2016-12-07 20:01:21 -06:00 |
|
Zach Laine
|
78c511468f
|
Get rid of initial param in operator macros; remove operator,() as a separate macro.
|
2016-12-07 20:01:20 -06:00 |
|
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 |
|