Denis Blank
|
cd367b3d43
|
Make result<> return void when calling get_value()
|
2018-11-25 19:56:03 +01:00 |
|
Denis Blank
|
5354d3512e
|
Fix the MSVC/Clang build even more
|
2018-11-25 18:01:15 +01:00 |
|
Denis Blank
|
2a80649084
|
Make exception and empty results returning a void hint
|
2018-11-25 17:14:23 +01:00 |
|
Denis Blank
|
782e1c6447
|
Fix the MSVC build
|
2018-11-25 17:08:01 +01:00 |
|
Denis Blank
|
f4268f60f9
|
initial work on the multipathing unit tests
|
2018-11-25 03:18:35 +01:00 |
|
Denis Blank
|
07c8ed0cf9
|
Add invoker for the result class and specialized ones
|
2018-11-25 02:54:35 +01:00 |
|
Denis Blank
|
ffa3b9ee1b
|
Rename cti::expected -> cti::result
|
2018-11-25 02:23:08 +01:00 |
|
Denis Blank
|
93b1d27b07
|
Fix the build for the expected class
|
2018-11-25 02:13:01 +01:00 |
|
Denis Blank
|
867ab38b8e
|
Rework the expected_trait
* Add tests for the new expected public interface
|
2018-11-25 00:29:00 +01:00 |
|
Denis Blank
|
c76fe9e973
|
Make the expected class part of the public interface
* Required for exception rethrowing and recovering
|
2018-11-24 22:57:18 +01:00 |
|
Denis Blank
|
3a70356f16
|
Move some methods out of the attorney
* Code cleanup
|
2018-11-24 15:02:23 +01:00 |
|
Denis Blank
|
6969a9e392
|
Expose finish() method in continuable_base which makes it possible
to materialize the continuable_base when using it as an expression template.
|
2018-11-24 14:26:51 +01:00 |
|
Denis Blank
|
0657445466
|
Re-enable the deprecation warnings
* Ref 815c3d71
|
2018-11-22 00:50:41 +01:00 |
|
Denis Blank
|
815c3d71b9
|
Make the old error and dispatch tag not throw deprecation warnings for now
|
2018-11-22 00:48:02 +01:00 |
|
Denis Blank
|
057fb37123
|
Introduce the continuable primitive header which supplies tags
* Adapts the new naming scheme from the "Unified Futures" proposal
* Provides new tags for the future inplace resolution
|
2018-11-19 23:59:01 +01:00 |
|
Denis Blank
|
8e7af3a320
|
Add traits::unrefcv_t for later usage
|
2018-11-19 19:37:53 +01:00 |
|
Denis Blank
|
818b7a7314
|
Workaround for a regression introduced ~MSVC 15.8.1
|
2018-11-19 19:27:29 +01:00 |
|
Denis Blank
|
646707e5dc
|
Move from std::decay to std::decay_t
* Makes the transition to traits::unref easier later
|
2018-11-19 19:26:18 +01:00 |
|
Denis Blank
|
cc83fd5251
|
Rearrange the internal headers
|
2018-11-18 18:46:15 +01:00 |
|
Denis Blank
|
c1b8aa8694
|
Attempt to work around the failing MSVC CI build
|
2018-11-18 18:11:50 +01:00 |
|
Denis Blank
|
fae030afa3
|
Fix a compilation error which is caused by regression in one of the MSVC 15.1 updates
|
2018-11-18 17:46:25 +01:00 |
|
Denis Blank
|
9247e7b85f
|
Silence a warning when using CONTINUABLE_WITH_UNHANDLED_EXCEPTIONS
* Ref e59e6ae8b9
|
2018-03-19 09:07:34 +01:00 |
|
Denis Blank
|
e59e6ae8b9
|
Make it easier to inspect unhandled asynchronous exceptions in debuggers
|
2018-03-17 14:23:19 +01:00 |
|
Denis Blank
|
7dbf22a2d2
|
Make it possible to remap the result from promisified expressions
|
2018-03-17 13:24:57 +01:00 |
|
Denis Blank
|
be6571091b
|
Implement continuables as return types for coroutines
* Closes #4
|
2018-03-14 10:29:45 +01:00 |
|
Denis Blank
|
358e13e06e
|
Remove unused size traits
|
2018-03-14 10:29:45 +01:00 |
|
Denis Blank
|
3a5cea7779
|
std::size_t is part of cstddef not cstdint
|
2018-03-14 10:29:45 +01:00 |
|
Denis Blank
|
139f7d39de
|
Remove unused static_if
|
2018-03-14 10:29:45 +01:00 |
|
Denis Blank
|
65e41a2cbd
|
Remove unused identity utilities
|
2018-03-14 10:29:45 +01:00 |
|
Denis Blank
|
83f736a93f
|
Move the arguments out of a ready continuable with multiple arguments
|
2018-03-14 10:29:44 +01:00 |
|
Denis Blank
|
f091cbb079
|
Use a std::apply style unpack
* Some cleanup
|
2018-03-14 10:29:44 +01:00 |
|
Denis Blank
|
41c7cb008a
|
Add an alias for type erased work objects
|
2018-03-14 10:29:44 +01:00 |
|
Denis Blank
|
084937e192
|
Use std::void_t when available
|
2018-03-12 16:34:55 +01:00 |
|
Denis Blank
|
6e6297194e
|
Some minor improvements
|
2018-03-12 08:49:21 +01:00 |
|
Denis Blank
|
9ab9b5e7fb
|
Rename composition to connection
|
2018-03-12 08:35:19 +01:00 |
|
Denis Blank
|
093ecae1c0
|
composition > connection
|
2018-03-12 08:30:18 +01:00 |
|
Denis Blank
|
cd6f7445f0
|
Calculate the connection hint directly from the intermediate result
|
2018-03-12 08:25:44 +01:00 |
|
Denis Blank
|
49a097660b
|
Move the composition strategies into their own header
|
2018-03-12 08:05:06 +01:00 |
|
Denis Blank
|
3df06820ef
|
Make the seq dependency only dependent from the aggregate header
|
2018-03-12 08:02:43 +01:00 |
|
Denis Blank
|
a3e995c0ce
|
Improve order dependence for the coroutine detection
|
2018-03-12 07:24:04 +01:00 |
|
Denis Blank
|
c72d1afa8b
|
Fix a MSVC test failure
|
2018-03-12 06:19:34 +01:00 |
|
Denis Blank
|
4c39532d7c
|
In source documentation improvements
|
2018-03-12 05:42:27 +01:00 |
|
Denis Blank
|
936a09dac2
|
Finish the await tutorial
|
2018-03-11 08:46:46 +01:00 |
|
Denis Blank
|
4665dc931b
|
Changing promisify::from_asio to promisify::from
|
2018-03-11 08:23:58 +01:00 |
|
Denis Blank
|
d7c305ad33
|
More work on the documentation
|
2018-03-11 08:23:42 +01:00 |
|
Denis Blank
|
60f40415c3
|
Finish the connection tutorial
|
2018-03-11 06:40:11 +01:00 |
|
Denis Blank
|
71e219cbe0
|
Started the connection tutorial
|
2018-03-11 04:32:12 +01:00 |
|
Denis Blank
|
b031417aa8
|
Compositions -> Connections
|
2018-03-10 15:37:05 +01:00 |
|
Denis Blank
|
f6ee04a0c0
|
Add a configuration documentation section
|
2018-03-10 14:28:46 +01:00 |
|
Denis Blank
|
8d6a9b6b24
|
Started the new tutorial section
|
2018-03-10 10:30:03 +01:00 |
|
Denis Blank
|
a9432b2c9a
|
Some improvements to the documentation
|
2018-03-09 15:45:28 +01:00 |
|
Denis Blank
|
a95246d45c
|
Attempt to fix the GCC and MSVC build
|
2018-03-09 11:49:00 +01:00 |
|
Denis Blank
|
cb4497ef1d
|
Fix the remaining doxygen warnings
|
2018-03-09 11:19:36 +01:00 |
|
Denis Blank
|
17b0f7544d
|
Some improvements to the documentation
|
2018-03-09 11:11:16 +01:00 |
|
Denis Blank
|
bc9f77f6cb
|
Document the continuable_base co_await operator
|
2018-03-09 10:34:07 +01:00 |
|
Denis Blank
|
22ce1840b9
|
Reserve the container size across remappings
|
2018-03-09 10:10:56 +01:00 |
|
Denis Blank
|
de40af0927
|
Add cti::populate and make use of it in tests
|
2018-03-09 09:45:00 +01:00 |
|
Denis Blank
|
86c3815ae0
|
Make continuable_base non copyable by default
* Actually there is no reason that the call hierarchy is copyable
when looking at the fact that two types just cause distraction
and bad usage.
|
2018-03-09 08:51:33 +01:00 |
|
Denis Blank
|
1ce251483c
|
Add more remaining nested unit tests to the any strategy
|
2018-03-09 08:13:50 +01:00 |
|
Denis Blank
|
c4cb102795
|
Fix a bug in the pack traversal where the container content wasn't perfectly forwarded
|
2018-03-09 08:13:20 +01:00 |
|
Denis Blank
|
b50c2bf8a8
|
Fix non default constructible values in compositions
* Add a test case for the non default constructible case
|
2018-03-09 05:25:36 +01:00 |
|
Denis Blank
|
d59c0730b8
|
Make it possible to use non default constructible values in compositions
|
2018-03-09 04:50:06 +01:00 |
|
Denis Blank
|
cc135da250
|
Fix additional debug code in async pack traversal
|
2018-03-09 04:34:58 +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
|
42c04f0fcb
|
More work on implementing the optional_variant type
|
2018-03-08 14:24:09 +01:00 |
|
Denis Blank
|
224e8c835f
|
Some more work on the optional variant type
|
2018-03-08 14:06:30 +01:00 |
|
Denis Blank
|
ca03c52d40
|
more
|
2018-03-07 17:14:41 +01:00 |
|
Denis Blank
|
715cece74c
|
Allow non copyable completion handlers in the asio example
|
2018-03-06 22:06:07 +01:00 |
|
Denis Blank
|
98aefb59d8
|
First attempt on making all promises non-copyable
* Fix CONTINUABLE_WITH_UNHANDLED_ERRORS when using the promise as
real callback.
|
2018-03-06 21:50:25 +01:00 |
|
Denis Blank
|
73c0b17962
|
Mark promise helpers as noexcept
|
2018-03-06 21:40:37 +01:00 |
|
Denis Blank
|
12c23f15f8
|
Fix a defect unit test
|
2018-03-06 21:36:27 +01:00 |
|
Denis Blank
|
1aae8c3083
|
Async traversal cleanup
|
2018-03-06 08:49:00 +01:00 |
|
Denis Blank
|
201a2fc17c
|
Some cleanups in the any composition
|
2018-03-06 08:44:12 +01:00 |
|
Denis Blank
|
8f69198651
|
More cleanups in util and traits
|
2018-03-06 08:37:07 +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
|
9ecbb00f5a
|
Implement the nested when_any connection
|
2018-03-04 08:14:11 +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
|
178f590aa9
|
Address a GCC parsing failure (compiler bug)
* See https://travis-ci.org/Naios/continuable/jobs/348056527#L723
|
2018-03-02 03:14:05 +01:00 |
|
Denis Blank
|
83752502dc
|
Fix the simplification
|
2018-03-02 02:54:09 +01:00 |
|
Denis Blank
|
92ba25cd23
|
Started on simplifying the all and seq composition heavily
|
2018-03-02 01:25:59 +01:00 |
|
Denis Blank
|
a9da11149b
|
Attempt to fix the clang build
|
2018-03-01 05:16:12 +01:00 |
|
Denis Blank
|
7602dfd50d
|
Basic implementation of the all composition
|
2018-03-01 03:21:31 +01:00 |
|
Denis Blank
|
1853ec8b42
|
Start to work on rewriting the all composition
|
2018-02-28 18:12:12 +01:00 |
|
Denis Blank
|
375e376db8
|
Attempt to fix the clang build
|
2018-02-28 17:37:02 +01:00 |
|
Denis Blank
|
4a5136427b
|
Avoid using SFINAE inside the materializer
|
2018-02-28 17:28:41 +01:00 |
|
Denis Blank
|
36257780e0
|
Some cleanups
|
2018-02-28 17:15:19 +01:00 |
|
Denis Blank
|
7bf0439493
|
Materialize continuables when applying strategies
|
2018-02-28 17:11:58 +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
|
b3bf06c26e
|
Rename some files to match the naming standard
|
2018-02-28 00:46:40 +01:00 |
|
Denis Blank
|
017d89e34e
|
Partially revert 2cbac4da98e57
|
2018-02-28 00:41:43 +01:00 |
|
Denis Blank
|
17f454ceb6
|
Fix a remapping failure when nested tuples are involved
|
2018-02-28 00:32:40 +01:00 |
|
Denis Blank
|
2cbac4da98
|
Simplify make_exceptional_continuable
|
2018-02-28 00:30:58 +01:00 |
|
Denis Blank
|
9c087e60d2
|
Correctly handle continuables with multiple results
|
2018-02-28 00:02:52 +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
|
860ae778bc
|
Fix some remaining issues with calculating the signature hint from all or seq compositions
|
2018-02-27 17:53:23 +01:00 |
|
Denis Blank
|
6819c68bb2
|
Some more permissive issues
|
2018-02-27 17:35:05 +01:00 |
|
Denis Blank
|
a7d844d0dc
|
Fix some permissive issues
|
2018-02-27 17:19:57 +01:00 |
|
Denis Blank
|
3c90862768
|
Fix sequential compositions
|
2018-02-27 17:05:11 +01:00 |
|
Denis Blank
|
ba6c4cc905
|
More work on the sequential compositioning
|
2018-02-27 06:08:55 +01:00 |
|
Denis Blank
|
fd858a7ed7
|
First work on implementing deep sequential compositions
|
2018-02-27 05:07:13 +01:00 |
|
Denis Blank
|
b1d7a76c8f
|
Move the new remapping functionality to its own header
|
2018-02-27 02:19:08 +01:00 |
|
Denis Blank
|
b3a4a3d359
|
Lift connection logic up from all and any to a unified function
|
2018-02-27 02:00:37 +01:00 |
|
Denis Blank
|
fb4a34b328
|
Split the composition header into one for each strategy
|
2018-02-26 23:49:59 +01:00 |
|
Denis Blank
|
02fbad159c
|
Add missing licenses to cmake files
|
2018-02-26 19:28:24 +01:00 |
|
Denis Blank
|
2cb42d786d
|
Address a clang build failure
|
2018-02-26 19:05:16 +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
|
7730b85b24
|
Make it possible to supply the async traversal pack directly from the visitor
|
2018-02-21 04:02:18 +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
|
197a8c4dd1
|
Add make_ready_continuable and make_exceptional_continuable
|
2018-02-19 02:43:36 +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
|
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
|
cd42a7b2ba
|
Promote is_continuable to the public API
|
2018-02-10 03:40:05 +01:00 |
|
Denis Blank
|
7c0aa6e6ba
|
Move the composition functions to it's own header
|
2018-02-10 03:30:52 +01:00 |
|
Denis Blank
|
4b00f5ff8a
|
Fix a missing typename build failure
|
2018-02-10 01:15:33 +01:00 |
|
Denis Blank
|
04111c0bc3
|
More work on porting the async traversal
|
2018-02-10 01:13:01 +01:00 |
|
Denis Blank
|
16dd2b0cb9
|
Start to port the async traversal
|
2018-02-09 04:28:04 +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
|
bf04c6600f
|
Fix some MSVC warnings
|
2018-02-09 04:09:58 +01:00 |
|
Denis Blank
|
8df57d6d8b
|
Use std::tuple_size for retrieving the size of a tuple like type
|
2018-02-09 04:06:40 +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
|
217aad83ef
|
Fix a MSVC build failure
|
2018-02-07 02:39:58 +01:00 |
|
Denis Blank
|
bc3e3c6473
|
Fix some warnings
|
2018-02-07 02:34:12 +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
|
0da8d1206f
|
Fix a bad conversion
|
2018-02-07 01:47:42 +01:00 |
|
Denis Blank
|
0e80147343
|
Readd return type deduction
|
2018-02-07 01:40:20 +01:00 |
|
Denis Blank
|
7db24574ae
|
Fix a mistake in the tuple remapper
|
2018-02-07 01:09:33 +01:00 |
|
Denis Blank
|
230b3ec967
|
Some minor test improvements
|
2018-02-07 01:01:52 +01:00 |
|
Denis Blank
|
a167261e00
|
Fix and apply proper version comments
|
2018-02-06 03:37:57 +01:00 |
|
Denis Blank
|
8ef86d3b70
|
Port invoke_fused -> unpack
|
2018-02-06 03:21:32 +01:00 |
|
Denis Blank
|
f0b25956b9
|
Implement the missing checks for container categories
|
2018-02-06 02:52:33 +01:00 |
|
Denis Blank
|
09f9da3e0e
|
Rename CONTINUABLE_WITH_EXCEPTIONS -> CONTINUABLE_HAS_EXCEPTIONS
* Since this is automatically defined
|
2018-02-06 02:25:27 +01:00 |
|
Denis Blank
|
88aebb422b
|
Improve the feature tests
* Also intend those manually and add ca clang-format (6.0)
placeholder.
|
2018-02-06 02:22:00 +01:00 |
|