2
0
mirror of https://github.com/boostorg/yap.git synced 2026-02-23 04:12:15 +00:00
Commit Graph

112 Commits

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