Commit Graph

  • ea55abc5ab Implement expession<>-specific functions in terms of the ones that take an expression template template parameter. Zach Laine 2016-12-01 20:22:27 -0600
  • aa450b7e99 Add a TODO. Zach Laine 2016-12-01 20:21:41 -0600
  • 09057b9912 Split call_expr test into disjoint parts, which reveals that the test was masking an error. Zach Laine 2016-12-01 19:38:43 -0600
  • fa868399ec Add nonmatching overloads to the call_expr test. Zach Laine 2016-12-01 19:29:07 -0600
  • a9ab05aef2 Add mixed example. Zach Laine 2016-12-01 18:24:30 -0600
  • a4555b84a8 Correct detail::print_value() for nontrivial types with no operator<<() overload. Zach Laine 2016-12-01 17:24:29 -0600
  • 26c35b5dbc Partially document user_macros.hpp. Zach Laine 2016-12-01 00:48:16 -0600
  • 6254750d2a Add BoostBook doc skeleton. Zach Laine 2016-12-01 00:30:16 -0600
  • ce5a0a8744 Move lib headers to boost/yap. Zach Laine 2016-12-01 00:03:35 -0600
  • dda826b95c proto17 -> yap Zach Laine 2016-11-30 23:42:38 -0600
  • 0ee6c4255c Add vector example. Zach Laine 2016-11-30 23:00:20 -0600
  • fabcea271e Add if_else pseudo-operator. Zach Laine 2016-11-30 22:54:26 -0600
  • 8631d8383b Add BOOST_PROTO17_USER_UDT_UNARY_OPERATOR. Zach Laine 2016-11-30 21:43:21 -0600
  • 58bb5f4c7e Remove resolved TODO. Zach Laine 2016-11-30 21:24:24 -0600
  • 31d3ea7eb3 Add TODOs. Zach Laine 2016-11-30 19:42:51 -0600
  • 4984173ce5 Add BOOST_PROTO17_USER_UDT_ANY_BINARY_OPERATOR. Zach Laine 2016-11-30 19:37:56 -0600
  • 0494018fca Add BOOST_PROTO17_USER_UDT_BINARY_OPERATOR. Zach Laine 2016-11-30 19:23:16 -0600
  • f74cf1789e Add some comments and whitespace to detail/expression.hpp. Zach Laine 2016-11-30 18:07:10 -0600
  • afe853f870 Simplify and correct BOOST_PROTO17_USER_FREE_BINARY_OPERATOR. Zach Laine 2016-11-30 00:53:00 -0600
  • 0097bb6639 BOOST_PROTO17_USER_NON_MEMBER_BINARY_OPERATOR -> BOOST_PROTO17_USER_FREE_BINARY_OPERATOR Zach Laine 2016-11-30 00:14:05 -0600
  • 53e882212d Remove unhelpful TODOs. Zach Laine 2016-11-29 23:49:41 -0600
  • a0913e71d5 Add is{, not} expression static_asserts to relevant API. Zach Laine 2016-11-29 23:46:32 -0600
  • 31b81ddfc0 Add right() test. Zach Laine 2016-11-29 23:26:29 -0600
  • 89cc602e69 Add left() test. Zach Laine 2016-11-29 22:47:50 -0600
  • 3519bcd576 Add deref() to expression_fwd.hpp. Zach Laine 2016-11-29 22:23:08 -0600
  • a57e2692f6 Add value() test. Zach Laine 2016-11-29 21:16:00 -0600
  • c615f2034d Add deref() test. Zach Laine 2016-11-29 20:36:13 -0600
  • d2b3453a60 Add test of printing user templates. Zach Laine 2016-11-29 19:56:36 -0600
  • 37c7fd1167 Add a TODO. Zach Laine 2016-11-29 17:38:21 -0600
  • a4ea007d59 Add support for alternate transform function syntax, a la Boost.Proto, using the new tag types. Zach Laine 2016-11-29 17:36:17 -0600
  • 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}(). Zach Laine 2016-11-29 17:32:02 -0600
  • 820d614865 Add deref(). Zach Laine 2016-11-29 17:31:00 -0600
  • b0c56cac32 auto -> decltype(auto) on transform(). Zach Laine 2016-11-29 17:29:50 -0600
  • e36bc36c5a Add detail::expr_arity and expression tag types. Zach Laine 2016-11-26 18:36:12 -0600
  • d1601f7da6 Update tarray,vec3 to use as_expr(). Zach Laine 2016-11-26 03:09:55 -0600
  • 804aaaebef Add es_expr(). Zach Laine 2016-11-26 03:09:34 -0600
  • 818f0ba62e Make is_expr handle cv/ref quals. Zach Laine 2016-11-26 03:03:42 -0600
  • e6d50952fb Fix broken assignment from scalar in tarray and vec3. Zach Laine 2016-11-26 00:29:37 -0600
  • b84542860b TArray -> tarray Zach Laine 2016-11-25 23:06:33 -0600
  • 6c51d601cf Add vec3 sample. Zach Laine 2016-11-25 22:54:20 -0600
  • fa0be8c9a1 Remove addressed TODO. Zach Laine 2016-11-25 22:54:05 -0600
  • fc075fb808 Restore the previous single version of make_terminal(). Zach Laine 2016-11-25 18:22:04 -0600
  • f67896187e Simplify lazy_vector example. Zach Laine 2016-11-24 19:52:29 -0600
  • c92716a54b Simplify TArray example. Zach Laine 2016-11-24 19:35:07 -0600
  • 42e029a29c Add op_string(). Zach Laine 2016-11-24 19:34:37 -0600
  • 09608ed3d5 Correct lvalue/rvalue confusion in default transform code and make_terminal(). Zach Laine 2016-11-24 19:23:55 -0600
  • 43677fe9dc Add TArray example. Zach Laine 2016-11-24 18:36:38 -0600
  • 1f8d115a3d Fix lhs construction in free operator macros. Zach Laine 2016-11-24 18:36:14 -0600
  • 71755916e7 Correct tempalte paramater confusion in the terminal specialization. Zach Laine 2016-11-24 17:50:05 -0600
  • 78c511468f Get rid of initial param in operator macros; remove operator,() as a separate macro. Zach Laine 2016-11-24 00:38:01 -0600
  • e979c07037 Generalize all expression-creating code to use a given expression template. Zach Laine 2016-11-23 23:55:34 -0600
  • ae35d5b552 Implement expression::{value,left,right}() in terms of the free versions. Zach Laine 2016-11-23 19:52:59 -0600
  • 37940c5ec1 Remove the expr_ref specialization of expression. Zach Laine 2016-11-23 19:44:14 -0600
  • dca3c2712a Replace .value calls with elaborated calls to the free value(). Zach Laine 2016-11-22 19:30:06 -0600
  • a7efab8a1a Replace half-baked BOOST_PROTO17_USER_MEMBER_OPERATOR_IMPL with fully reusable macros for free operators and unary and binary members. Zach Laine 2016-11-22 18:08:19 -0600
  • dbea6d3ed5 Fix compile_tests link. Zach Laine 2016-11-22 18:20:40 -0600
  • e08fc628ff Preserve the expression template passed as Expr to transform, instead of converting it to an expression<>. Zach Laine 2016-11-22 17:29:52 -0600
  • ad85e854f0 Remove moot TODOs. Zach Laine 2016-11-22 17:16:04 -0600
  • d670025ec3 Simplify lazy_vector.cpp with a new convenience macro. Zach Laine 2016-11-22 17:14:14 -0600
  • 4d067bd072 Cruft removal. Zach Laine 2016-11-22 17:05:58 -0600
  • 29a7bedc00 Add reference-to-expr expr_kind expr_ref; expressions used in other expressions are now captured by reference. Zach Laine 2016-11-22 17:04:05 -0600
  • 3a69ba1869 Remove left(), right() from the terminal specialization of expression<>. Zach Laine 2016-11-21 19:13:29 -0600
  • 0033b42734 Replace parameter pack in expression<> with a single Tuple param. Zach Laine 2016-11-21 18:30:18 -0600
  • 44f5292e49 Add missing assembly to code_gen_samples.cpp. Zach Laine 2016-11-21 18:29:06 -0600
  • 175d0d2f28 Remove the expression ctor taking individual values; add specialization for terminal that does. Zach Laine 2016-11-20 16:37:36 -0600
  • 5e845452bf Change is_expr to accept the Expr concept instead of just an expression<>. Zach Laine 2016-11-20 15:31:20 -0600
  • 1d31de114c Change print() to print the Expr concept, not just expression<>s. Zach Laine 2016-11-19 14:10:31 -0600
  • 0b2e571a9b Add lazy_vector example (needs optimization). Zach Laine 2016-11-19 13:42:57 -0600
  • 514fd94b1e Add reference qualified overloaded value(), left(), and right() expression members, and free versions of same. Zach Laine 2016-11-19 13:29:47 -0600
  • 5b7cd4c71e typename operand_type<>::type -> operand_type_t<> Zach Laine 2016-11-19 12:18:57 -0600
  • 7efb64403f Add Boost license. Zach Laine 2016-11-18 20:27:28 -0600
  • 3c6570055f Remove detail::kind_of. Zach Laine 2016-11-18 20:24:46 -0600
  • 7d243f40b0 Add calc examples. Zach Laine 2016-11-18 20:22:23 -0600
  • f52633f0fb Add expression_function. Zach Laine 2016-11-18 19:46:49 -0600
  • e7957852dc 1-based placeholders. Zach Laine 2016-11-18 19:23:40 -0600
  • e8eae00afe Add -Wall; fix warnings. Zach Laine 2016-11-18 18:58:57 -0600
  • de4086622e Add a first example, hello_world. Zach Laine 2016-11-18 18:36:00 -0600
  • 96927a994c Support moves in transform(). Zach Laine 2016-11-17 21:54:44 -0600
  • cb4d68f817 Grooming. Zach Laine 2016-11-17 19:47:24 -0600
  • 316da24c25 Add naive transform(). Zach Laine 2016-11-17 19:37:33 -0600
  • 9e9e306677 Add function terminal case to call_expr test. Zach Laine 2016-11-17 19:45:01 -0600
  • ed1b183ecd Fix bitwise_xor_assign/subscript copy-paste error. Zach Laine 2016-11-16 17:15:36 -0600
  • 19bdb22af8 Add more functions to code_gen_samples. Zach Laine 2016-11-15 21:31:50 -0600
  • 93c4cb30a4 Make depth_stress_test* less extreme. Zach Laine 2016-11-15 21:09:20 -0600
  • 3461b31f78 Print out the assembly generated for parts of code_gen_samples using lldb/gdb. Zach Laine 2016-11-15 20:41:13 -0600
  • e5872cfaf4 code_gen_samples to new perf directory. Zach Laine 2016-11-15 20:18:27 -0600
  • 5805e55f8d Add a code-gen sample, useful for getting the assembly generated for proto17 vs. straight c++ expressions. Zach Laine 2016-11-15 20:07:32 -0600
  • 2f4f1a2858 Extend reference_returns test to cover placholder expressions. Zach Laine 2016-11-15 19:47:20 -0600
  • 15e70fefe1 Pass individual args through evaluate*(), instead of making a tuple of them. Zach Laine 2016-11-15 19:12:07 -0600
  • 9563d58153 depth_stress_test -> depth_stress_test_{left,right} Zach Laine 2016-11-15 17:28:19 -0600
  • 381447fb63 rhs_value_type* -> operand_value_type* Zach Laine 2016-11-15 17:25:54 -0600
  • 7cb4405c08 Update CMakeLists.txt files for Linux builds. Zach Laine 2016-11-15 17:23:17 -0600
  • 55bcc46041 Refactor the call eval to remove a copy; thanks to Louis Dionne. Zach Laine 2016-11-12 15:16:12 -0600
  • 1fbc68f611 Add test of templated transform_expression. Zach Laine 2016-11-12 14:32:55 -0600
  • d1c3734945 Remove use of eval_expression_as on subexpressions; add transform_expression. Zach Laine 2016-11-12 12:05:01 -0600
  • db5f016146 Update user_expression_transform test to highlight an error in transform matching. Zach Laine 2016-11-12 03:13:38 -0600
  • df97a1bcc1 Fix roken user_eval_expression_as test. Zach Laine 2016-11-11 23:49:25 -0600
  • c48e7fb8fa decltype(auto) -> auto Zach Laine 2016-11-11 23:32:00 -0600
  • 9547eb1b6d Add remaining free operators; remove stream output operator support. Zach Laine 2016-11-11 23:03:08 -0600
  • 42af863c4d Move last bits of sketch.cpp to standalone compile test. Zach Laine 2016-11-11 22:55:22 -0600