Commit Graph

  • f2a8cb9d51 detail/default_eval.hpp -> detail/transform.hpp Zach Laine 2018-02-25 15:11:03 -0600
  • 0dbd7592b8 Fix transform() in the case that a default-handled nonterminal does not come from an expression template; as_expr_result -> minimal_expr. Zach Laine 2018-02-25 14:58:48 -0600
  • f85c018dd8 Remove TODO. Zach Laine 2018-02-25 14:21:16 -0600
  • 74eab425e7 Substantially rewrite the description of transform() semantics. Zach Laine 2018-02-25 01:52:35 -0600
  • eef55d0f96 Flesh out note about mixing and matching ETs in a single expression; miscellaneous copy editing. Zach Laine 2018-02-25 00:45:49 -0600
  • a562edb346 Flesh out commentary in let.cpp; add it to the docs as an example. Zach Laine 2018-02-24 23:58:41 -0600
  • d8b2181185 Copy editing. Zach Laine 2018-02-24 23:58:11 -0600
  • 746787cc82 Add section on the idiomatic use of YAP. Zach Laine 2018-02-24 22:45:32 -0600
  • b861f977a4 Change the semantics of replacements() and replace_placeholders() so that they replace placeholders with YAP terminals instead of values. Zach Laine 2018-02-24 17:11:00 -0600
  • bc4ea3f81d Factor placeholder replacement out into its own transform object, available via replacements() and replace_placeholders(). Zach Laine 2018-02-24 15:57:39 -0600
  • 260dc0e82d Remove the now-redundant uses of as_expr(). Zach Laine 2018-02-23 22:19:36 -0600
  • bcbcd8fa26 Don't needlessly return the nth element of a vector as a copy in take_nth. Zach Laine 2018-02-23 21:55:42 -0600
  • 46d9b4fe22 Improve vector_alloc_test based on review feedback. Zach Laine 2018-02-23 21:43:25 -0600
  • 746adaabfe Condition the 'let' example build on the availability of cosntexpr if. Zach Laine 2018-02-23 02:03:35 -0600
  • 3337d2eb11 Remove previous evaluate() implementation cruft. Zach Laine 2018-02-23 01:58:54 -0600
  • efecff22b7 Add a template that can be used to create evaluation transform objects, and use this in evaluate(). Zach Laine 2018-02-23 01:56:49 -0600
  • 91e8c682b5 Remove customization point cruft from example/mixed.cpp. Zach Laine 2018-02-23 01:50:40 -0600
  • 2391313a48 Take an arbitrary number of transform objects in transform{,_strict}(). Zach Laine 2018-02-22 23:15:54 -0600
  • ebe94b698a Add transform_strict(). Zach Laine 2018-02-22 18:17:26 -0600
  • 6bb94c1082 Remove redundant case from iota_terminal_transform. Zach Laine 2018-02-22 18:07:13 -0600
  • 54d1b14237 Wrap the first argument to transform() by calling as_expr() on it, so that as_expr() is rarely needed outside of transform(). Zach Laine 2018-02-22 17:28:55 -0600
  • 4b383f9343 Add example implementing a version of Boost.Phoenex's let() syntax. Zach Laine 2018-02-20 23:27:34 -0600
  • cb10bae121 Correct subtle error in value(). When value() is given a terminal, it must return an lvalue reference if the terminal's tuple's single element is an lvalue reference. Zach Laine 2018-02-20 23:24:49 -0600
  • c0dbeb3d3c Clang format. Zach Laine 2018-02-20 23:21:15 -0600
  • 20e4faa593 Clang format in include/ and test/. Zach Laine 2018-02-20 01:15:39 -0600
  • 36fdafaf38 Changes based on Part 3 of Steven Watanabe's review. Zach Laine 2018-02-20 01:02:41 -0600
  • 7b7935b0d0 Rewrite "Features" section of intro, based on review feedback. Zach Laine 2018-02-18 16:09:51 -0600
  • b80f06a4c6 Finish integrating the two new examples into the docs. Zach Laine 2018-02-18 15:53:12 -0600
  • 25d4acf6d6 Add extensive comments to pipable_algorithms.cpp; use snippets from it in the intro; add it as an example. Zach Laine 2018-02-18 13:33:49 -0600
  • 98acc2b2e7 Add pipable_algorithms example. Zach Laine 2018-02-18 12:33:52 -0600
  • f86431905d Update docs copyright year. Zach Laine 2018-02-17 21:12:33 -0600
  • b4d2d93fbb Docs copy editing. Zach Laine 2018-02-17 21:11:28 -0600
  • 32de54e53d Cruft removal. Zach Laine 2018-02-17 00:21:17 -0600
  • b652079acb Take any hana::IntegralConstant as the "i" argument to get(). Zach Laine 2018-02-17 00:14:19 -0600
  • 5d011d83a0 Tweak comment. Zach Laine 2018-02-16 23:43:45 -0600
  • 22b8ab969f Make the calc3 get_arity transform a little nicer based on review feedback. Zach Laine 2018-02-16 23:23:35 -0600
  • 07848d6236 Simplify the overload set used in the transformf in transform_terminals. Zach Laine 2018-02-16 23:06:47 -0600
  • 123ea1df6a Fix malformed expr_kind::call overload in transform_terminals example. Zach Laine 2018-02-16 22:42:28 -0600
  • 8712988c25 Add expr_tag template to handle expr_kind <-> tag mapping. Zach Laine 2018-02-16 22:33:41 -0600
  • 0dc4966ca7 Copy editing. Zach Laine 2018-02-16 19:23:03 -0600
  • fc247a1f2d Remove another probably unneeded reference to Proto. Zach Laine 2018-02-16 19:07:40 -0600
  • d1834c6c01 Add references to specific examples alluded to in a general reference to "Examples". Zach Laine 2018-02-16 19:05:17 -0600
  • 99f4e4355f Remove reference to Proto from the intro. Zach Laine 2018-02-16 18:55:01 -0600
  • 0f4e144edc Add terminal transform example; not working due to longstanding call_expr tag transform matching bug. Zach Laine 2018-02-15 23:02:20 -0600
  • 27380020d7 Revert "Transform terminals before they are unwrapped and given as arguments to" Zach Laine 2018-02-15 20:55:45 -0600
  • 191aa0c0ae Consolidate expression<> code into a single header. Zach Laine 2018-02-15 19:17:04 -0600
  • e1fcacccdd detail::tag_for() -> to_tag(); add its compliment, to_kind(). Zach Laine 2018-02-15 18:50:27 -0600
  • 3709cd2eb3 Flatten the doc section nesting; extend intro; add primer. Zach Laine 2018-02-15 19:43:56 -0600
  • acfebf5643 Minor adjustments to get the docs building again; remove some doc cruft. Zach Laine 2018-02-15 17:54:03 -0600
  • 8282c4b10e Add Boost license copyright headers to all C++ files. Zach Laine 2018-02-15 17:20:48 -0600
  • f7a02fcc96 Fix accidentally passing if_else test. Zach Laine 2018-02-14 22:54:36 -0600
  • 7d4b56e4ab Add test to verify that if_else evaluates only one of its alternatives. Zach Laine 2018-02-14 21:27:06 -0600
  • 63e88fe713 Add test of comma operator order of evaluation and ability to return void. Zach Laine 2018-02-14 21:09:42 -0600
  • 9bbe1279db Add .clang-format. Zach Laine 2018-02-14 20:37:34 -0600
  • 2adaeb8813 Remove customization point-based and their implicit tranformations, evaluate_as(), and BOOST_YAP_CONVERSION_OPERATOR_TEMPLATE. Zach Laine 2018-02-14 17:49:49 -0600
  • ca22c8a10a Doc copy editing, and add explicit values to expr_kind enumerators. Zach Laine 2018-02-14 19:06:00 -0600
  • b6d53d153d Changes based on Part 2 of Steven Watanabe's review. Zach Laine 2018-02-14 18:33:08 -0600
  • d10b23e3b0 boost -> include/boost Zach Laine 2018-02-14 17:38:49 -0600
  • 8ff40f50e3 Don't require exactly Boost 1.64. Zach Laine 2018-02-14 17:18:33 -0600
  • c8646369c9 Add coverage of all expr_kind values to op_string(). Zach Laine 2018-02-12 19:46:10 -0600
  • dee006df7d Update docs and some example code based on part 1 of Steven Watanabe's review. Zach Laine 2018-02-11 14:20:26 -0600
  • 5d782669cc Add .gitattributes. Zach Laine 2018-02-11 11:12:42 -0600
  • ed985c0b21 Doc update to make the sections on transform() clearer. Zach Laine 2018-02-02 22:45:01 -0600
  • 181f3a774e Add text to docs explaining how transform() works in more detail. Zach Laine 2017-08-29 20:18:24 -0500
  • 09a028f924 fix some spelling errors in documentation Rohit Grover 2017-08-13 20:00:42 +1200
  • 2ac48c9855 fixes #24: changes to CMake related files to allow inclusion of yap as a submodule Rohit Grover 2017-08-13 19:35:55 +1200
  • 633040c441 Add Boost license badge to README.md. Zach Laine 2017-07-02 10:27:47 -0500
  • d0ba21f938 Add missing Boost.Serialization include to autodeff.h. Zach Laine 2017-06-24 17:26:34 -0500
  • 237811e77f Boost 1.62 -> Boost 1.64, because Bintray. Zach Laine 2017-06-24 17:12:33 -0500
  • df4516ba43 Fixed a typo Markus Werle 2017-05-10 23:26:46 +0200
  • 55e9f33892 Remove this_type parameter from all member function macros. Zach Laine 2017-05-09 11:14:55 -0500
  • 1b2ca8744b Make make_expression_function() follow the expression operand handling rules used in operators. Zach Laine 2017-04-06 20:38:09 -0500
  • 98b8c064fb Don't exclude terminal and expression_ref aliases from the docs. Zach Laine 2017-04-06 19:39:25 -0500
  • 9d327542a6 Move is_expr<> up out of detail, and document it. Zach Laine 2017-04-06 19:09:44 -0500
  • 86c6a6dfe1 Explain auto-application of terminal transforms. Fixes #13. Zach Laine 2017-03-18 12:28:39 -0500
  • 62bfb3d0b8 Amplify Transforming Expressions section. Fixes #14. Zach Laine 2017-03-17 21:27:11 -0500
  • e362ec0043 Add perf app based on the lazy_vector example. Zach Laine 2017-03-15 20:32:01 -0500
  • 4e68505bab Transform terminals before they are unwrapped and given as arguments to TagTransforms. Zach Laine 2017-03-12 14:53:17 -0500
  • f46fbd26ac Extend transform tests with transforms that match terminals and nonterminals. Zach Laine 2017-03-09 22:11:15 -0600
  • 5c56657982 Slightly extend Transforming Expressions section. Zach Laine 2017-01-17 00:48:01 -0600
  • 1aa4726488 Forward the expression passed to make_expression_function() instead of moving it. Zach Laine 2017-01-17 00:44:09 -0600
  • 71a40e8cd8 Add a note about cget, and also added type_index dependencies Paul 2017-01-14 16:44:12 -0600
  • 11df2808a1 Add hana requirement Paul 2017-01-12 14:14:43 -0600
  • b5368ff484 Add AutoIndex-based doc index. Fixes #11. Zach Laine 2017-01-14 14:21:52 -0600
  • 12ff2f15fe Add sections on transforming and evaluating expressions to the tutorial docs. Fixes #7. Zach Laine 2017-01-14 13:51:23 -0600
  • 3a4a28a48f Add explicit doc section on Boost library dependencies. Zach Laine 2017-01-13 22:57:35 -0600
  • 906de1d209 Fix _eval_{,as_} Quickbook defs. Zach Laine 2017-01-13 22:29:57 -0600
  • 97c4b0ec2d #define BOOST_NO_CONSTEXPR_IF 0 if no previous definition is given. Zach Laine 2017-01-13 22:21:55 -0600
  • 02a25a7d40 Remove Boost.Preprocessor dependency. Zach Laine 2017-01-13 22:14:37 -0600
  • 9566bb1428 Move expression<>-specific overloads from algorithm.hpp to expression.hpp. Zach Laine 2016-12-21 00:08:18 -0600
  • 47f170ec33 Document header organization. Zach Laine 2016-12-21 00:03:25 -0600
  • 3230cf2955 #include yap/algorithm instead of yap/expression in appropriate examples. Zach Laine 2016-12-20 23:51:55 -0600
  • 00794f3916 Separate core algorithms from expression<>. Zach Laine 2016-12-20 23:44:04 -0600
  • ed1fb70939 Add a test of nested expression evaluation. Zach Laine 2016-12-20 23:11:55 -0600
  • fba4ae2dba Fix handling of member operators when this_type::kind == expr_ref. Zach Laine 2016-12-20 22:20:16 -0600
  • e69d40eb58 Document print(). Zach Laine 2016-12-19 18:51:00 -0600
  • 7db4f6b187 Add placeholder case to print test. Zach Laine 2016-12-19 18:38:17 -0600
  • 32c7da2863 Add a doc section on compiler support. Zach Laine 2016-12-19 18:35:16 -0600
  • cc40a1a88b Report an error if no appropriate -std= flag could be discovered. Zach Laine 2016-12-19 18:29:39 -0600
  • a302e8e371 Fix Linux/libc++ build, by compiling depdendencies with the same flags as the YAP code. Zach Laine 2016-12-19 18:21:26 -0600