Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1e55bc80eb
Worked around ICE in VS2015
2015-07-11 17:14:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af50ecd711
Removed accidentally still present vptr from future-promise.
2015-07-11 15:57:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb4e62d9d2
Fully refactored, compiling clean, constexpr tests are nearly all green. Hangs during unit tests though (tomorrow!).
2015-07-10 04:24:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5687d98d5b
wip refactor
2015-07-10 02:20:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
990b2b67fe
wip in refactoring. Note that only monad is currently enabled and working, all future promise stuff fails to compile.
...
- [x] Split implementation policy for value_storage into separate policy (allows value_storage
to convert without considering future-promise type).
- [x] Get value_storage<bool> and value_storage<void> to consume 1 byte, not 2 bytes.
2015-07-09 03:31:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7b5a78d8ab
wip removed any knowledge of the future type from promise, thus permanently closing the door to ever type slicing the future.
2015-07-08 04:56:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ebb1573bbf
wip refactoring basic_future to match the earlier refactoring of basic_monad
2015-07-07 20:40:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
de13b706f3
wip ground up refactor to eliminate all reinterpret_cast completely
2015-07-07 19:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a29167061a
Refactored to eliminate use of reinterpret_cast entirely and now uses abstract base classes instead.
2015-07-07 01:18:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
abfbb7c357
Should now compile perfectly on clang and GCC again. We are pushed the boundaries of these compilers!!!
2015-07-06 19:27:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
018a82fd3f
again
2015-07-06 16:08:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a6db70202
again
2015-07-06 16:01:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3238e51a78
again
2015-07-06 15:54:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
89dfa359a5
again
2015-07-06 15:50:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cebb8f4d65
again
2015-07-06 15:38:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1f2b4f63d1
typos
2015-07-06 15:28:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7f190808d0
Allow monads to explicitly convert when compatible.
2015-07-06 15:21:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7d1affd42e
wip making continuations race free, also implemented sleeping waits. Compiles on MSVC, I strongly doubt anywhere else.
2015-07-06 03:51:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
83bbcdf864
upd
2015-07-04 04:39:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af6014049b
Should work now on all compilers.
2015-07-04 04:23:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2b9298ce22
More tightening of then() callable constraints.
2015-07-04 03:55:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d1ce67aec2
Improved the static asserting, compiles on GCC now but MSVC is failing.
2015-07-04 03:39:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
120a8cda34
Fixed broken C++ 11 support.
2015-07-04 03:08:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4fecca10b6
try again with clang.
2015-07-04 01:51:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0dde08e428
Fix clang problems.
2015-07-03 18:05:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
207143f1eb
Try disabling gcc 4.8
2015-07-03 17:56:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dad2b2cef5
try again
2015-07-03 17:51:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b7ea196017
Hopefully clang will be happy now.
2015-07-03 17:45:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aca45c537d
Small clang fix.
2015-07-03 17:12:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d64f4c20c5
First working future continuations. Lots more testing to be added later, but this actually seems to work.
2015-07-03 17:09:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ab25936fb
Added future.then(), but it is not compiling.
2015-07-03 14:34:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1153088b6a
- [x] Refactor the tribool logic mapping such that empty => unknown.
2015-07-03 11:26:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c852498f6
Fixed failing constexpr tests.
2015-07-02 13:39:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
840f3470da
monad.next() now has build time optimised do_next implemented, and therefore is now available without BOOST_SPINLOCK_MONAD_ENABLE_OPERATORS.
2015-07-02 13:13:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6803e9d8ba
Added missing typenames.
2015-07-02 03:51:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a31d67b258
Added ability to store an optional std::function continuation which is called when the state is set by promise.
2015-07-02 03:49:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43b2b7df49
Added test of make_ready_XXX.
2015-07-02 02:59:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1a689653b8
Fixed GCC and clang breakage.
2015-07-02 01:34:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3d331df79a
Broke monad into own doxygen group.
2015-07-02 01:25:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1f361f9bb6
Improved docs for future promise substantially.
2015-07-01 15:24:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
975bcde6b6
Fixed two standard conformance failures.
...
Updated benchmarks for VS2015.
Added unit testing for alignment and size multiple of promise future.
2015-07-01 13:54:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2c719ac954
Updated todo list.
2015-07-01 12:43:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
46fa713841
Made optional the future constexpr folding.
2015-07-01 04:30:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2cfbd8cc54
Added future_option, future_result plus tests for them.
2015-07-01 03:17:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
68847ff62f
Put back forceinline on MSVC
2015-07-01 01:36:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ac7f60959d
Improve future docs.
...
Try pragma inline depth on MSVC just to see what happens.
2015-07-01 01:13:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e49e78ff00
Added benchmarks for VS2015
2015-06-30 15:22:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f680c76236
- [x] Implement shared_future_ptr which thunks a shared_future API through a shared_ptr to
...
basic_future<shared_future_policy>.
2015-06-30 14:45:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8a491994a6
Fixes for GCC 4.8
2015-06-30 13:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2d55d44998
Hopefully now fully passing on all platforms.
2015-06-30 12:42:27 +01:00