219 Commits

Author SHA1 Message Date
Denis Blank
7f76c55350 Fix the unsigned mismatch again 2018-03-09 04:57:52 +01:00
Denis Blank
087047e26d Initial work on testing the new seq and all strategy 2018-03-09 04:54:11 +01:00
Denis Blank
54385b5654 Fix an unsigned mismatch 2018-03-09 04:47:49 +01:00
Denis Blank
1a947d5c59 Fix the flat variant implementation
* Add unit tests
2018-03-09 04:34:31 +01:00
Denis Blank
916ea3c04d Use the flat_variant for the expected implementation 2018-03-08 19:29:31 +01:00
Denis Blank
c66e9a8ee1 optional_variant -> flat_variant 2018-03-08 17:30:33 +01:00
Denis Blank
e78291669c Establish the basic functionality of the optional_variant 2018-03-08 17:26:33 +01:00
Denis Blank
22896a69af Attempt to fix the basic instantiation of variant 2018-03-08 15:40:38 +01:00
Denis Blank
d9622566e9 Address a MSVC compiler bug which prevents collapsing references in coroutines
* Closes #2
2018-03-06 23:14:55 +01:00
Denis Blank
12c23f15f8 Fix a defect unit test 2018-03-06 21:36:27 +01:00
Denis Blank
acc15b46ab Traits and util cleanup 2018-03-06 03:53:18 +01:00
Denis Blank
0dbcccdc9e Add documentation to when_any 2018-03-04 08:44:38 +01:00
Denis Blank
cdbc332287 Implement the new result deduction for when_any
* The logic requires now that all continuables yield the same
  types and amount of result objects.
2018-03-02 19:18:53 +01:00
Denis Blank
9891543b1f Enable and document the new when_all 2018-03-02 04:49:04 +01:00
Denis Blank
dd1b605d95 Revert 5dfe388f7f8156
* It turns out that this isn't needed anymore and just affects
  the compile time by now
* Additionally GCC can't handle this properly
2018-03-02 04:02:45 +01:00
Denis Blank
7602dfd50d Basic implementation of the all composition 2018-03-01 03:21:31 +01:00
Denis Blank
a1ee771059 Fix an issue when connecting void continuables 2018-02-28 02:43:57 +01:00
Denis Blank
663779f083 Add documentation to when_seq 2018-02-28 02:10:35 +01:00
Denis Blank
3c70024c0b Make it possible to apply when_seq to iterators 2018-02-28 01:21:27 +01:00
Denis Blank
17f454ceb6 Fix a remapping failure when nested tuples are involved 2018-02-28 00:32:40 +01:00
Denis Blank
6e1350086e More work on the hint calculation for all and seq compositions 2018-02-27 23:47:51 +01:00
Denis Blank
c4cdb3c3b0 Fix the mapping when empty spreads are involved 2018-02-27 23:46:03 +01:00
Denis Blank
a7d844d0dc Fix some permissive issues 2018-02-27 17:19:57 +01:00
Denis Blank
ba6c4cc905 More work on the sequential compositioning 2018-02-27 06:08:55 +01:00
Denis Blank
b1d7a76c8f Move the new remapping functionality to its own header 2018-02-27 02:19:08 +01:00
Denis Blank
89c3becbcf Fix some unit tests 2018-02-26 19:34:25 +01:00
Denis Blank
02fbad159c Add missing licenses to cmake files 2018-02-26 19:28:24 +01:00
Denis Blank
05b9223da8 Require make_continuable to be called with a valid signature 2018-02-26 19:02:20 +01:00
Denis Blank
331d642e5d Fix a build error in the result indexing 2018-02-26 18:33:26 +01:00
Denis Blank
786792f4f0 Add cti::promisify with an initial boost asio helper 2018-02-26 05:04:38 +01:00
Denis Blank
9c66b53f23 Some ideas of a promisify helper 2018-02-25 17:37:30 +01:00
Denis Blank
9be06f4bcc Some more work on seperating the indexer and relocator 2018-02-23 01:13:22 +01:00
Denis Blank
4632ff355c Add relocate_index_pack to assign the target address to indexed continuables 2018-02-21 08:19:47 +01:00
Denis Blank
8dbd3d058a More work on indexing continuables together with its result 2018-02-19 15:46:00 +01:00
Denis Blank
f81f0e649c Initial work on creating the result object 2018-02-19 04:55:02 +01:00
Denis Blank
8102c2d841 Some more ideas 2018-02-19 00:58:45 +01:00
Denis Blank
951155bc34 Make it possible to apply transformations through pipes 2018-02-10 05:12:38 +01:00
Denis Blank
e4ef3ccefb Some experiments 2018-02-10 04:51:11 +01:00
Denis Blank
5dfe388f7f Prioritize the mapper if it does accept container and tuple like elements 2018-02-10 04:45:09 +01:00
Denis Blank
20f586376f Some misc improvements 2018-02-10 04:04:43 +01:00
Denis Blank
7c0aa6e6ba Move the composition functions to it's own header 2018-02-10 03:30:52 +01:00
Denis Blank
fbd87787aa Add a unit test which was removed in the original version
* Because unfinished traversals weren't allowed there.
2018-02-10 03:13:18 +01:00
Denis Blank
36bd134120 Change the inclusion style of the test header 2018-02-10 03:05:39 +01:00
Denis Blank
7a96a2681f Execute the single tests only once 2018-02-10 03:00:57 +01:00
Denis Blank
d7d10e9448 Fix the remaining unit tests for async traversal 2018-02-10 02:50:24 +01:00
Denis Blank
64f91d8ce0 Remove the 42 in_place_tag workaround 2018-02-10 02:15:02 +01:00
Denis Blank
bac986a23f Convert the async traversal test to gtest 2018-02-10 01:56:50 +01:00
Denis Blank
f935d78c99 Partial conversion of the async traversal unit test 2018-02-10 01:41:14 +01:00
Denis Blank
04111c0bc3 More work on porting the async traversal 2018-02-10 01:13:01 +01:00
Denis Blank
73927516c6 Set the version to 3.0.0
* There wil be a header split for compositions
  thus the backward compatibility breaks
2018-02-09 04:16:45 +01:00
Denis Blank
5904ea06b4 Convert more tests into proper gtest cases 2018-02-09 03:57:12 +01:00
Denis Blank
a5640a5d35 Fix std::array remapping 2018-02-09 03:36:12 +01:00
Denis Blank
0982748ad6 Enable another test 2018-02-07 02:43:25 +01:00
Denis Blank
bc3e3c6473 Fix some warnings 2018-02-07 02:34:12 +01:00
Denis Blank
45f29c8d00 Enable a failing test 2018-02-07 02:28:49 +01:00
Denis Blank
6dc2b0d0b1 Make the tests pass 2018-02-07 02:15:09 +01:00
Denis Blank
a0a0619953 Fix some SFINAE failures in map_pack
* Make unpack capable of SFINAE
2018-02-07 01:57:22 +01:00
Denis Blank
230b3ec967 Some minor test improvements 2018-02-07 01:01:52 +01:00
Denis Blank
72974d402e Enable passing parts of the unit test 2018-02-06 03:30:24 +01:00
Denis Blank
78f1c0ae78 More work on the unit test 2018-02-06 03:21:44 +01:00
Denis Blank
752bee6ea4 Start to port the traversal unit tests 2018-02-06 00:44:51 +01:00
Denis Blank
6a8919c63d Add the public headers for both traversal strategies 2018-02-05 23:47:50 +01:00
Denis Blank
0d3a88c4a1 Take my GSoC code for nested pack traversal over
* See https://naios.github.io/gsoc2017 for details
2018-02-05 23:47:07 +01:00
Denis Blank
17a4e8a8da Remove the continuable-api header 2018-02-02 00:24:38 +01:00
Denis Blank
f4ee3ea0d1 Make continuable.hpp include all headers of the library
* Move the old continuable.hpp header into continuable-types.hpp
2018-01-30 00:14:47 +01:00
Denis Blank
032fc436b9 Fix an unused variable error 2018-01-29 00:20:38 +01:00
Denis Blank
5751152733 Add a memory leak regression test (detected by LSan) 2018-01-28 23:10:39 +01:00
Denis Blank
4c76a11f45 Fix a coroutine MSVC/Clang incompatibility 2018-01-28 22:39:53 +01:00
Denis Blank
6c209c876a Allows fail to accept plain continuables 2018-01-25 08:11:05 +01:00
Denis Blank
9286cfa8cc Feature detection placeholders 2018-01-24 23:05:23 +01:00
Denis Blank
db8c5b07c9 More work on the await clang build 2018-01-24 01:33:05 +01:00
Denis Blank
9b0ad832ff Add a missing include 2018-01-24 01:06:19 +01:00
Denis Blank
3626133f8e Happy new Year!
* Update license notices to 2018
2018-01-04 01:45:09 +01:00
Denis Blank
02965776e3 Additionally test co_await expressions with 1 or more args 2017-12-30 03:19:11 +01:00
Denis Blank
a85040b0c2 Basic skeleton for coroutine_traits 2017-12-28 05:26:29 +01:00
Denis Blank
5d95b5c3e3 Test that coroutines propagate thrown exceptions back to co_await 2017-12-28 04:16:13 +01:00
Denis Blank
d774371769 Await unit test 2017-12-27 06:06:25 +01:00
Denis Blank
434db0fc24 First working version of co_await using continuables! 2017-12-26 03:33:44 +01:00
Denis Blank
dbf73b6ac6 more 2017-12-08 21:59:59 +01:00
Denis Blank
73a8da1b86 Support value and error assignments in expected 2017-12-01 19:03:13 +01:00
Denis Blank
95d5f25f84 Rename flow -> next 2017-11-30 07:32:17 +01:00
Denis Blank
b4332b66c5 Make use of expected in await 2017-11-30 07:11:23 +01:00
Denis Blank
3d6bb4d8a7 Add tests for move assignment 2017-11-30 04:20:53 +01:00
Denis Blank
7fda8b9f65 Fix some build errors in expected and add typed tests 2017-11-30 04:17:13 +01:00
Denis Blank
bf89a98d60 Fix the build 2017-11-30 02:16:49 +01:00
Denis Blank
8b99c72071 more 2017-11-30 00:59:52 +01:00
Denis Blank
b3d350cb11 more 2017-11-14 03:13:54 +01:00
Denis Blank
6001e99723 Make continuables usable in await expressions 2017-11-13 15:03:52 +01:00
Denis Blank
d8591d1f13 More work on using operator await 2017-11-13 13:32:34 +01:00
Denis Blank
1c0c17f699 Fix a test build error 2017-11-01 23:33:26 +01:00
Denis Blank
20c54f54cb Move transforms in their own toplevel namespace 2017-10-11 17:04:01 +02:00
Denis Blank
e57b9b21ad Add a standalone target test 2017-10-04 23:32:06 +02:00
Denis Blank
76f3fb0380 Add targets for warnings, flags and noexcept flags 2017-10-04 22:23:25 +02:00
Denis Blank
dcadc77956 Update the doxgen documentation 2017-10-04 19:37:10 +02:00
Denis Blank
f3c33b58c6 Improve the documentation 2017-10-04 19:07:20 +02:00
Denis Blank
425d922965 Test the flatten transform 2017-10-04 18:45:45 +02:00
Denis Blank
84ca172caa Qualify continuable callbacks as r-value callable 2017-10-04 17:16:58 +02:00
Denis Blank
75b5ecad9d more mocks 2017-10-04 04:52:30 +02:00
Denis Blank
b67ca1c224 Allow basic emulation of C++17 fold expressions 2017-10-04 04:32:49 +02:00
Denis Blank
04539ba638 Implement flatten as transform 2017-10-04 04:11:37 +02:00