249 Commits

Author SHA1 Message Date
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
Denis Blank
a02e9bdf89 Enable the feature detection based on __cplusplus 2018-02-06 01:58:07 +01:00
Denis Blank
7e90187e50 Some minor improvements 2018-02-06 01:57:41 +01:00
Denis Blank
c8b4e1ddcd Improve the conditional usage of try catch 2018-02-06 00:54:11 +01:00
Denis Blank
752bee6ea4 Start to port the traversal unit tests 2018-02-06 00:44:51 +01:00
Denis Blank
a107a89991 Convert all invoke_result traits into decltype(...) 2018-02-06 00:18:06 +01:00
Denis Blank
d1e0c1d606 Move is_invokeable to traits and rename it to is_invokeable_from_tuple 2018-02-06 00:12:59 +01:00
Denis Blank
eafbe4b37d Add a C++17 std::disjunction polyfill 2018-02-05 23:47:51 +01:00
Denis Blank
6a8919c63d Add the public headers for both traversal strategies 2018-02-05 23:47:50 +01:00
Denis Blank
7d0e68ad9b Convert util::tuple* to std::tuple* 2018-02-05 23:47:49 +01:00
Denis Blank
cd2af2d49a Only check for wrongly finished async traversals in debug mode 2018-02-05 23:47:49 +01:00
Denis Blank
62823f8f56 More conversion work 2018-02-05 23:47:48 +01:00
Denis Blank
910af18f1e Rename the inclusion guards slightly 2018-02-05 23:47:45 +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
9ce9884376 Rename the inclusion guards slightly 2018-02-01 22:49:42 +01:00
Denis Blank
4b317fb964 Some doxygen additions and improvements 2018-01-30 21:40:09 +01:00
Denis Blank
c4a19efa55 Some const additions 2018-01-30 02:18:31 +01:00
Denis Blank
f35cc355e0 Fix an expression result unused warning 2018-01-30 01:58:53 +01:00
Denis Blank
fb4eb379ca More constexpr conversions 2018-01-30 01:57:41 +01:00
Denis Blank
933d773c4c Improve the constexprness 2018-01-30 01:09:32 +01:00
Denis Blank
24201d5106 Remove the GTest requirement from the amalgamation 2018-01-30 00:30:49 +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
7aae524cb1 Remove the alignment tests
* Don't fail the sanitizers when testing with coroutines
2018-01-29 07:45:38 +01:00
Denis Blank
c2ad28d702 More is aligned tests 2018-01-29 07:00:17 +01:00
Denis Blank
701a8ea1a4 Attemt to fix the alignment errors 2018-01-29 01:03:44 +01:00
Denis Blank
9c4b0a3a17 Fix the memory leak tested in 5751152733 2018-01-29 00:33:53 +01:00
Denis Blank
f976591e94 Remove an unused header 2018-01-28 22:40:07 +01:00
Denis Blank
6c209c876a Allows fail to accept plain continuables 2018-01-25 08:11:05 +01:00
Denis Blank
6e404b6eaa Apply outer and inner size improvements for the callable wrapper
* This will decrease the needed allocations heavily,
  since we don't have to allocate twice if a continuation is type erased
  since the outer type erasure may contain the inner one with zero costs.
2018-01-25 05:00:19 +01:00
Denis Blank
9286cfa8cc Feature detection placeholders 2018-01-24 23:05:23 +01:00
Denis Blank
b17d2f9c17 Fix a GCC warning:
```cpp
  ../include/continuable/detail/expected.hpp:344:44: error: declaration of ‘using expected = class cti::detail::util::expected<cti::detail::util::detail::void_guard_tag>’ [-fpermissive]
     using expected = expected<void_guard_tag>;
                                              ^
  ../include/continuable/detail/expected.hpp:171:7: error: changes meaning of ‘expected’ from ‘class cti::detail::util::expected<cti::detail::util::detail::void_guard_tag>’ [-fpermissive]
   class expected
  ```
2018-01-24 01:44:30 +01:00
Denis Blank
810d778b2e Attemtp to fix coroutines on clang 2018-01-24 01:13:03 +01:00
Denis Blank
9b0ad832ff Add a missing include 2018-01-24 01:06:19 +01:00
Denis Blank
efbce1f886 Mark continuation invocations as non exceptional 2018-01-23 19:40:55 +01:00
Denis Blank
ea6b76a044 Some namespace corrections 2018-01-15 05:55:32 +01:00
Denis Blank
cb225835d6 Preparation for making expected available inside the base namespace 2018-01-14 04:26:32 +01:00
Denis Blank
55a59fb7f7 Attempt to fix a gcc warning 2018-01-14 00:18:20 +01:00
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