Nikita Kniazev
4d9990c3e1
VS2017 support ( #88 )
...
* VS2017 support workarounds
* TST: call_expr: Removed unused function
This also make the test compilable on VS2017
* TST: reference_returns: Make test compilable on VS2017
* TST: comma: Make test compilable on VS2017
* TST: print: Fix TTI differences between MSVC and Clang/GCC
2018-10-24 22:59:15 -05:00
Zach Laine
c2d27e58df
Define BOOST_NO_AUTO_PTR for all the Travis tests.
2018-10-24 22:59:15 -05:00
Nikita Kniazev
d7d9dcd435
B2: Added project requirements
2018-10-24 22:59:15 -05:00
Zach Laine
97fca5f741
check -> yap_check. If a "check" target exists, give it a dependency on
...
yap_check. Add a custom target check that depends on yap_check otherwise.
2018-10-24 22:59:15 -05:00
Zach Laine
ba3d943559
Simplify if_else so that it no longer requires linking to unit_test_framework.
2018-03-04 12:41:00 -06:00
Zach Laine
8cbd7c70c2
Fix CMake build.
2018-03-04 12:23:08 -06:00
Zach Laine
e14b9d962f
Use Boost.Build and Boost.Test for tests.
...
Fixes #52 .
2018-03-04 02:50:29 -06:00
Zach Laine
26ff6ece8c
Add compile-fail tests for functions in algorithm.hpp.
...
Fixes #54 .
2018-03-03 22:28:11 -06:00
Zach Laine
5c8f50273d
Flesh out print test for 100% coverage.
...
Fixes #55 .
2018-03-03 21:42:07 -06:00
Zach Laine
71e983a0f6
Add code coverage build mode.
2018-03-03 20:54:50 -06:00
Zach Laine
143beb91de
Unify binary member and nonmember macros; add subscript operator member macro.
...
Fixes #22 .
Fixes #68 .
2018-03-03 18:06:34 -06:00
Zach Laine
4ce7fbafd8
BOOST_YAP_USER_UNARY_OPERATOR_MEMBER -> BOOST_YAP_USER_UNARY_OPERATOR
...
Partially implements #22 .
2018-03-03 16:20:39 -06:00
Zach Laine
9c67b71648
Fix dangling reference errors by reinstating the use of as_expr() in recursive
...
transforms.
2018-03-02 23:32:19 -06:00
Zach Laine
311ce35ec9
Revert "Remove the now-redundant uses of as_expr()."
...
This reverts commit 260dc0e82d
.
2018-03-02 23:11:44 -06:00
Zach Laine
4c6eaec081
Add missing message string to all static_asserts without them.
2018-03-01 20:04:42 -06:00
Zach Laine
20dff650a1
Fix expected number of allocations in lazy_vector_alloc_test.
2018-02-28 19:03:17 -06:00
Zach Laine
3f5178551b
Correct undefined behavior in operator new() in lazy_vector_alloc_test.
2018-02-28 18:30:19 -06:00
Zach Laine
47ad8c1a9c
Prohibit use of assign with BOOST_YAP_BINARY_MEMBER_OPERATOR(), and create a
...
new macro BOOST_YAP_USER_ASSIGN_OPERATOR_MEMBER() that guards against
assignment ambiguity.
Fixes #58 .
2018-02-25 22:04:51 -06:00
Zach Laine
b25a907198
Add value checks to deref tests.
...
Fixes #56 .
2018-02-25 16:21:16 -06:00
Zach Laine
0dbd7592b8
Fix transform() in the case that a default-handled nonterminal does not come
...
from an expression template; as_expr_result -> minimal_expr.
Fixes #60 .
2018-02-25 14:58:52 -06:00
Zach Laine
f85c018dd8
Remove TODO.
...
Fixes #66 .
2018-02-25 14:21:16 -06:00
Zach Laine
260dc0e82d
Remove the now-redundant uses of as_expr().
2018-02-23 21:50:06 -06:00
Zach Laine
46d9b4fe22
Improve vector_alloc_test based on review feedback.
...
Fixes #53 .
2018-02-23 21:50:06 -06:00
Zach Laine
20e4faa593
Clang format in include/ and test/.
...
Fixes #42 .
2018-02-20 01:15:52 -06:00
Zach Laine
36fdafaf38
Changes based on Part 3 of Steven Watanabe's review.
2018-02-20 01:02:41 -06:00
Zach Laine
8712988c25
Add expr_tag template to handle expr_kind <-> tag mapping.
...
Fixes #49 .
2018-02-16 22:34:09 -06:00
Zach Laine
27380020d7
Revert "Transform terminals before they are unwrapped and given as arguments to"
...
This reverts commit 4e68505bab
.
Fixes #40 .
2018-02-15 21:24:20 -06:00
Zach Laine
191aa0c0ae
Consolidate expression<> code into a single header.
...
Fixes #37 .
2018-02-15 19:17:10 -06:00
Zach Laine
8282c4b10e
Add Boost license copyright headers to all C++ files.
...
Fixes #31 .
2018-02-15 18:07:48 -06:00
Zach Laine
f7a02fcc96
Fix accidentally passing if_else test.
2018-02-14 22:54:36 -06:00
Zach Laine
7d4b56e4ab
Add test to verify that if_else evaluates only one of its alternatives.
...
Fixes #35
2018-02-14 21:27:06 -06:00
Zach Laine
63e88fe713
Add test of comma operator order of evaluation and ability to return void.
...
Fixes #34
2018-02-14 21:10:38 -06:00
Zach Laine
2adaeb8813
Remove customization point-based and their implicit tranformations,
...
evaluate_as(), and BOOST_YAP_CONVERSION_OPERATOR_TEMPLATE.
Fixes #29
Fixes #30
2018-02-14 20:32:00 -06:00
Zach Laine
55e9f33892
Remove this_type parameter from all member function macros.
2017-05-09 11:14:55 -05:00
Zach Laine
1b2ca8744b
Make make_expression_function() follow the expression operand handling rules
...
used in operators.
2017-04-06 20:38:17 -05:00
Zach Laine
9d327542a6
Move is_expr<> up out of detail, and document it.
2017-04-06 19:09:44 -05:00
Zach Laine
4e68505bab
Transform terminals before they are unwrapped and given as arguments to
...
TagTransforms.
2017-03-12 14:59:35 -05:00
Zach Laine
f46fbd26ac
Extend transform tests with transforms that match terminals and nonterminals.
2017-03-12 14:57:44 -05:00
Zach Laine
ed1fb70939
Add a test of nested expression evaluation.
2016-12-21 20:11:37 -06:00
Zach Laine
7db4f6b187
Add placeholder case to print test.
2016-12-19 18:49:50 -06:00
Louis Dionne
c23c06e509
[CMake] Pull the setting up of dependencies into its own file
...
Also, properly define link/header dependencies between targets.
2016-12-18 17:49:23 -06:00
Louis Dionne
79c7972a03
[nfc] Use hana::is_a instead of ad-hoc function
2016-12-18 17:46:13 -06:00
Zach Laine
efcdc0cf67
Make tests C++14 friendly.
2016-12-17 23:17:04 -06:00
Zach Laine
31669e341b
Implement placeholder as a terminal with a special value type.
2016-12-16 18:07:29 -06:00
Zach Laine
3c39a117b8
Flesh out Transform Matching section.
2016-12-13 23:39:14 -06:00
Zach Laine
1b7cd22217
Fill in customization points section.
2016-12-13 19:32:18 -06:00
Zach Laine
1fe42d079c
TODO cruft removal.
2016-12-13 17:06:32 -06:00
Zach Laine
d6e3a4186c
Add vector_alloc_test.
2016-12-12 14:32:43 -06:00
Zach Laine
548143b8fb
Reduce the depth of the stress tests, for Travis VM compatability.
2016-12-09 23:46:08 -06:00
Zach Laine
1e3f6fb667
Add GCC support to CMake build.
2016-12-09 22:36:21 -06:00