37 Commits

Author SHA1 Message Date
Denis Blank
6b4f6de10f Use the work erased type directly in release builds
* So this behaviour aligns to the one used in continuable_base and promise_base.
2019-03-08 18:27:57 +01:00
Denis Blank
fdd9a061c4 Make promise_base default constructible
* This makes it possible to use promise_base for optional
  promises directly rather than wrapping it as optional<promise_base<...>>.
* Invalidate the promise_base after its first usage.
* Expose an `operator bool()` to make the validility accessible.
* Remove the no longer needed private promise_no_init_arg_t tag.
2019-03-08 18:13:40 +01:00
Denis Blank
20e8c7d3e3 Reflow the license text
* For some reason some spaces were removed,
  the license text and content stays the same.
2019-01-04 13:39:46 +01:00
Denis Blank
a3a9695174 Happy new year! 2019-01-04 13:35:44 +01:00
Denis Blank
c066940d8d Use new types instead of aliases for type erasures
* Makes compiler output much more readable
  This is configurateable through CONTINUABLE_WITH_IMMEDIATE_TYPES,
  and automatically enabled for debug builds but disabled
  for release builds.
* Remove the old continuable-trait.hpp header
* Make the signature of continuable not dependent anymore
  on any size of the arguments which fixes the compilation
  with forward declared types.
  Thanks Rogiel for the correspoding bug report.
  Closes #11
2019-01-04 13:12:48 +01:00
Denis Blank
30f0dca27f Fix a unit test introduced in 4127c02c3f6d 2018-12-25 11:15:06 +01:00
Denis Blank
4127c02c3f Add an overload to make_result which accepts a exception_arg_t and exception_t
* Can be used to forward the result correctly from next handlers
2018-12-25 09:05:51 +01:00
Denis Blank
b77e926c41 Fix the unit tests 2018-11-26 04:37:48 +01:00
Denis Blank
67964b0793 Attempt to fix the clang build 2018-11-25 20:43:14 +01:00
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
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
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
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
a9d4ee5ba8 Fix the single tests 2018-11-18 18:59:54 +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
d30814c2ff Fix a MSVC C++latest warning regarding allocator traits 2018-03-12 11:21:34 +01:00
Denis Blank
180380cfbc Move some experimental compilation tests to its own unit test 2018-03-12 09:36:50 +01:00
Denis Blank
c72d1afa8b Fix a MSVC test failure 2018-03-12 06:19:34 +01:00
Denis Blank
a95246d45c Attempt to fix the GCC and MSVC build 2018-03-09 11:49:00 +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
7f76c55350 Fix the unsigned mismatch again 2018-03-09 04:57:52 +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
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
c4cdb3c3b0 Fix the mapping when empty spreads are involved 2018-02-27 23:46:03 +01:00
Denis Blank
89c3becbcf Fix some unit tests 2018-02-26 19:34:25 +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
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