243 Commits

Author SHA1 Message Date
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
Denis Blank
0eb272a46f Move generic transforms out of the main class
* Introduce apply to use generic transforms which are
  defined out of class.
2017-10-04 04:05:11 +02:00
Denis Blank
ec65ce0bf3 Attempt to fix the travis gcc build 2017-10-04 03:39:53 +02:00
Denis Blank
8f83d4d30c Split the sequence tests for an improved memory footprint 2017-10-04 03:33:32 +02:00
Denis Blank
612aeef0c8 Add an operator| (pipe) for future folding and channels 2017-10-04 03:17:26 +02:00
Denis Blank
09bae47e09 Add unit tests targeting error handler and inner handler exceptions 2017-10-04 03:11:10 +02:00
Denis Blank
dc205c8e51 Started on accepting flowing callables which accept all paths 2017-10-04 01:11:25 +02:00
Denis Blank
1e1f5cdf5b Fix some issues with the no exception build 2017-10-03 21:59:09 +02:00
Denis Blank
4d964b0fe2 Add error handling testing 2017-10-03 21:55:04 +02:00
Denis Blank
2dd1b9f361 Promisify all and any callbacks 2017-10-03 20:08:48 +02:00
Denis Blank
935fd9d32d Initial work on error testing 2017-10-03 19:53:58 +02:00
Denis Blank
b488d88370 Simplify assert_async_binary_validation 2017-10-03 18:39:35 +02:00
Denis Blank
457a9dca00 Simplify some tests in order to reduce heap usage while building 2017-10-03 17:32:03 +02:00
Denis Blank
b8ff4c4c18 Split the chaining tests into multiple ones 2017-10-03 17:15:42 +02:00
Denis Blank
6f8edf3416 Thin out the tests 2017-10-03 17:01:05 +02:00
Denis Blank
52cf1ab929 Started to implement combined path callables 2017-10-03 02:25:20 +02:00
Denis Blank
3d0ce45ae4 Rename unique_callback to promise 2017-10-03 01:37:19 +02:00
Denis Blank
f5e10d9fba Split the base tests intro multiple files 2017-10-03 01:33:04 +02:00
Denis Blank
6b9efad602 Pass promises to type erased continuables instead of the raw callbacks 2017-10-03 01:21:32 +02:00
Denis Blank
a685d9234a Readd unique_continuable 2017-10-03 01:14:53 +02:00
Denis Blank
22c9ee01d4 Fix "all" compositions with error handling 2017-10-02 17:23:06 +02:00
Denis Blank
bc431b4013 Rename catching -> fail 2017-10-01 03:37:34 +02:00
Denis Blank
d9546c15bb Allow packed_dispatch to receive an arbitrary count of tail args 2017-10-01 01:49:50 +02:00
Denis Blank
e594989af2 More implementation work on error handling 2017-10-01 01:40:32 +02:00
Denis Blank
8856f85388 Fix more build failures regarding error handling 2017-10-01 01:26:49 +02:00
Denis Blank
5d11d44a44 Enable the failing part 2017-10-01 00:54:18 +02:00
Denis Blank
b9a367ba03 More work on error handling 2017-10-01 00:49:43 +02:00
Denis Blank
0f242df1a6 Remove an unused lambda capture 2017-09-30 19:49:33 +02:00
Denis Blank
8d7f4e5a1b Fix some unused warnings 2017-09-30 02:40:20 +02:00
Denis Blank
7d9198b5cc Rename set_error -> set_exception
* In order to move closer to the standard
2017-09-30 02:19:58 +02:00
Denis Blank
37c70c3365 First building API of promises and error handling
* Currently not functional (yet)
2017-09-30 02:13:27 +02:00
Denis Blank
98936f6972 minor stuff 2017-09-29 01:24:33 +02:00
Denis Blank
0aa42d5b1a Attempt to fix the GCC build 2017-09-27 02:35:53 +02:00
Denis Blank
b65eea8b1a Started to implement promises and multi execution flow 2017-09-27 02:32:46 +02:00
Denis Blank
8d6c9ab895 Split util into traits and util 2017-09-27 01:10:35 +02:00
Denis Blank
7a02148c9d Change inclusions 2017-09-26 23:28:50 +02:00
Denis Blank
bc2d46ff40 Split more functionality into seperate header 2017-09-25 03:28:00 +02:00
Denis Blank
bd68d14b34 Split the header into multiple files 2017-09-24 19:55:58 +02:00
Denis Blank
bb70199422 Disable the cxx_function tests 2017-04-21 19:43:57 +02:00
Denis Blank
90dfde84c5 Rename all connection functions to their std counterparts:
- all_of -> when_all
- any_of -> when_any
- seq_of -> when_seq
2017-04-21 19:43:46 +02:00
Denis Blank
4b570029a9 mock: std::error_code -> std::error_condition 2017-04-21 19:11:36 +02:00
Denis Blank
89559468e7 Update cxx_function to potswa/cxx_function@354f966 2017-03-19 17:50:06 +01:00
Denis Blank
6e04f0d389 Disable the cxx_function tests for now 2017-03-19 00:46:05 +01:00
Denis Blank
a2f9007cf6 Use cxx_function as second testing backend 2017-03-19 00:30:50 +01:00
Denis Blank
e22db05cc3 Add potswa/cxx_function@e7beb8bfe as second test type erasure backend 2017-03-18 23:35:14 +01:00
Denis Blank
c46aa9e7c3 More mocks 2017-03-18 23:33:14 +01:00
Denis Blank
f6151262dc Cleanup 2017-03-18 02:34:09 +01:00
Denis Blank
6d9680905a Add a promise mock 2017-03-18 02:10:14 +01:00
Denis Blank
2de2f8d6d9 More mocks 2017-03-17 23:39:51 +01:00
Denis Blank
7c0f6f897b Some minor qualifier and naming improvements 2017-03-17 22:03:21 +01:00
Denis Blank
aa0f0db0cd Also include the exception header 2017-03-17 16:44:21 +01:00
Denis Blank
9822484088 Fix the CI build 2017-03-17 16:33:26 +01:00
Denis Blank
80fb5026fe Add a mock project for experimental research 2017-03-17 13:33:17 +01:00
Denis Blank
8ac5e668c7 Add a missing unit-test for execcutors 2017-03-08 17:20:34 +01:00
Denis Blank
ccd77dee29 Edit the readme 2017-03-04 21:49:57 +01:00
Denis Blank
7ab7c726b6 Change the expected behaviour of some GTest macros from expect -> assert 2017-03-04 14:11:58 +01:00
Denis Blank
8d851d6d42 Rework the alias trait 2017-03-03 17:10:29 +01:00
Denis Blank
fae3d42ee0 Add a r-value overload of freeze
* Add checks for ensuring the propagation of the frozen property
2017-03-03 13:53:12 +01:00
Denis Blank
bf4335d602 Store the result of expect completion tests on the heap 2017-03-03 13:35:20 +01:00
Denis Blank
05b611ce78 Rework the ownership behaviour
* Add freeze and is_frozen methods to the continuable_base.
* Remove the public visibility of release.
2017-03-03 13:35:19 +01:00
Denis Blank
df0fd2f2da Add tests for checking the correct invalidation on destruction 2017-03-02 23:35:49 +01:00
Denis Blank
52e62ccbf4 Split the unit test type instantiations for reducing memory usage 2017-03-01 13:50:51 +01:00
Denis Blank
594b993ddc Split connection tests 2017-03-01 00:22:17 +01:00
Denis Blank
4fa5346476 Test the helper connection functions too 2017-03-01 00:15:27 +01:00
Denis Blank
22d13997df Add the sequence operator feature 2017-02-28 23:59:46 +01:00
Denis Blank
cd265f991b Re-enable the evaluation order tests 2017-02-28 23:49:36 +01:00
Denis Blank
28b1d57abb Finish the partial callback application feature 2017-02-28 22:45:46 +01:00
Denis Blank
3b4fd82039 Base implementation of partial callback calls 2017-02-28 22:22:28 +01:00
Denis Blank
43a2c47a91 Fix a materialization error on futurization
* Add more documentation and tests
2017-02-27 14:40:38 +01:00
Denis Blank
6e5ec79754 initial commit 2017-02-26 00:33:32 +01:00