214 Commits

Author SHA1 Message Date
Denis Blank
3626133f8e Happy new Year!
* Update license notices to 2018
2018-01-04 01:45:09 +01:00
Denis Blank
140627cfd2 Fix clang and GCC build errors 2017-12-30 03:37:56 +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
6908f22996 Fix an issue with the feature inclusion order 2017-12-27 06:13:38 +01:00
Denis Blank
434db0fc24 First working version of co_await using continuables! 2017-12-26 03:33:44 +01:00
Denis Blank
baf47b129c Fix the remaining copy bug in expected 2017-12-26 03:02:26 +01:00
Denis Blank
71001cecc3 more 2017-12-21 05:04:57 +01:00
Denis Blank
53c878c9c5 build fix 2017-12-10 03:51:08 +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
b18f78c6be More 2017-11-22 23:38:33 +01:00
Denis Blank
0f5dd265fd more 2017-11-22 02:11:27 +01:00
Denis Blank
91b75953a6 more 2017-11-16 04:46:08 +01:00
Denis Blank
b3d350cb11 more 2017-11-14 03:13:54 +01:00
Denis Blank
a6b6148f44 More work on await 2017-11-13 18:23:04 +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
26ff6312ed Initial work on corooutine/await support 2017-11-06 19:21:34 +01:00
Denis Blank
20c54f54cb Move transforms in their own toplevel namespace 2017-10-11 17:04:01 +02:00
Denis Blank
f3c33b58c6 Improve the documentation 2017-10-04 19:07:20 +02:00
Denis Blank
2b061a6058 Move the documentation code to doc 2017-10-04 18:52:38 +02:00
Denis Blank
84ca172caa Qualify continuable callbacks as r-value callable 2017-10-04 17:16:58 +02:00
Denis Blank
5c3ae8223a Materialize the continuable before applying transforms 2017-10-04 16:56:56 +02:00
Denis Blank
92d247f2d6 Fix a build error with the fold emulation 2017-10-04 16:56:38 +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
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
b80a4e852b Fix a msvc warning 2017-10-04 02:40:53 +02:00
Denis Blank
4afeb141f1 Catch exceptions thrown by the continuation handler
* Forward it to the next error handler
2017-10-04 02:39:02 +02:00
Denis Blank
ddd5b0a0a6 more 2017-10-04 02:23:55 +02:00
Denis Blank
bf1ac9daee Unify the then, fail and flow callback creation 2017-10-04 01:47:04 +02:00
Denis Blank
dc205c8e51 Started on accepting flowing callables which accept all paths 2017-10-04 01:11:25 +02:00
Denis Blank
f7fabd8ba3 Attempt to fix the GCC travis build 2017-10-04 00:10:08 +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
60c73a1a48 Add trap and unreachable
* Use both functions to exit on invalid behaviour
2017-10-03 21:03:27 +02:00
Denis Blank
54fb32ae56 Fix the remaining promisify composition GCC errors 2017-10-03 20:26:32 +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
ce4ae5204a Fix an expression result unused warning
* Use tuple comparison instead of value per value
2017-10-03 19:00:11 +02:00
Denis Blank
b488d88370 Simplify assert_async_binary_validation 2017-10-03 18:39:35 +02:00
Denis Blank
342d08ab1d Simplify static_for_each_in 2017-10-03 18:33:44 +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
b8b9f31024 Improve the documentation of promise and continuable 2017-10-03 02:42:19 +02:00
Denis Blank
52cf1ab929 Started to implement combined path callables 2017-10-03 02:25:20 +02:00
Denis Blank
7dcd18c964 Expose dispatch_error_tag and error_type 2017-10-03 01:48:22 +02:00
Denis Blank
29c61b6b96 Fix an inline function isn't defined warning 2017-10-03 01:36:32 +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
268245b5e4 Add the possibility to use custom error types 2017-10-02 17:22:25 +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
64c03b818d Fix a conditional move 2017-09-30 22:21:47 +02:00
Denis Blank
0f242df1a6 Remove an unused lambda capture 2017-09-30 19:49:33 +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
8e8f5e982d Remove the deprecated composition APIs 2017-09-29 16:16:21 +02:00
Denis Blank
6481b5454d Started on implementing error handler chaining
* Namespace fixups
2017-09-29 15:39:07 +02:00
Denis Blank
98936f6972 minor stuff 2017-09-29 01:24:33 +02:00
Denis Blank
9ed0adbab7 Expose the arguments in promises
* better IDE support
* less instantiations
2017-09-28 05:24:17 +02:00
Denis Blank
eb8528c90e Move unused to util 2017-09-28 05:23:21 +02:00
Denis Blank
7accbdf41c Adapt the promise to the latest tag changes 2017-09-28 05:03:15 +02:00
Denis Blank
172f3561e9 Lift invoke_proxy into chain_continuation 2017-09-28 05:02:02 +02:00
Denis Blank
687133870f Make the multi flow less intrusive 2017-09-28 04:25:29 +02:00
Denis Blank
ff91ff7fc3 More work on supporting multiple flow paths 2017-09-27 06:47:45 +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
55252bce4a Add abi inline headers 2017-09-22 17:14:39 +02:00
Denis Blank
08dbd75736 Update the codestyle 2017-09-21 23:36:09 +02:00
Denis Blank
2392778b11 Bump the version to 1.1.0 2017-04-21 20:04:04 +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
6d9680905a Add a promise mock 2017-03-18 02:10:14 +01:00
Denis Blank
7c0f6f897b Some minor qualifier and naming improvements 2017-03-17 22:03:21 +01:00
Denis Blank
32d3c30703 Beautify the doxygen main page 2017-03-06 21:20:02 +01:00
Denis Blank
4baddcd534 Set the version to 1.0.0 2017-03-04 21:50:41 +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
22d7404970 Fix the async completion test after bf4335d60. 2017-03-04 14:11:56 +01:00
Denis Blank
8d851d6d42 Rework the alias trait 2017-03-03 17:10:29 +01:00
Denis Blank
54de52cb4b Convert some \note into \attention tags 2017-03-03 14:12:54 +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
4271f59348 Fix the MSVC build 2017-03-02 22:27:13 +01:00
Denis Blank
705138dab5 Add constexpr and noexcept where possible 2017-03-02 19:03:59 +01:00
Denis Blank
7a46100b6a Add more documentation 2017-03-02 18:26:05 +01:00
Denis Blank
17ad6d3bc1 Add more documentation 2017-03-01 13:35:57 +01:00
Denis Blank
22d13997df Add the sequence operator feature 2017-02-28 23:59:46 +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
4448eb7351 Adds documentation entries for the destructor and release method. 2017-02-27 00:58:44 +01:00
Denis Blank
7ae1aedfbb Adds documentation to all_of and any_of. 2017-02-27 00:37:30 +01:00
Denis Blank
6edce3bcaa Add a documentation to make_continuable. 2017-02-26 21:47:16 +01:00
Denis Blank
6e5ec79754 initial commit 2017-02-26 00:33:32 +01:00