1e55bc80ebWorked around ICE in VS2015
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-11 17:14:45 +0100
af50ecd711Removed accidentally still present vptr from future-promise.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-11 15:57:15 +0100
cb4e62d9d2Fully refactored, compiling clean, constexpr tests are nearly all green. Hangs during unit tests though (tomorrow!).
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-10 04:24:34 +0100
5687d98d5bwip refactor
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-10 02:20:18 +0100
990b2b67fewip in refactoring. Note that only monad is currently enabled and working, all future promise stuff fails to compile.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-09 03:31:43 +0100
7b5a78d8abwip removed any knowledge of the future type from promise, thus permanently closing the door to ever type slicing the future.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-08 04:56:21 +0100
ebb1573bbfwip refactoring basic_future to match the earlier refactoring of basic_monad
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-07 20:40:57 +0100
de13b706f3wip ground up refactor to eliminate all reinterpret_cast completely
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-07 19:42:11 +0100
a29167061aRefactored to eliminate use of reinterpret_cast entirely and now uses abstract base classes instead.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-07 01:18:44 +0100
abfbb7c357Should now compile perfectly on clang and GCC again. We are pushed the boundaries of these compilers!!!
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 19:27:45 +0100
018a82fd3fagain
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 16:08:58 +0100
5a6db70202again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 16:01:41 +0100
3238e51a78again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 15:54:06 +0100
89dfa359a5again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 15:50:56 +0100
cebb8f4d65again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 15:38:33 +0100
1f2b4f63d1typos
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 15:28:26 +0100
7f190808d0Allow monads to explicitly convert when compatible.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 15:21:48 +0100
7d1affd42ewip making continuations race free, also implemented sleeping waits. Compiles on MSVC, I strongly doubt anywhere else.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-06 03:51:34 +0100
83bbcdf864upd
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 04:36:01 +0100
af6014049bShould work now on all compilers.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 04:23:36 +0100
2b9298ce22More tightening of then() callable constraints.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 03:55:37 +0100
d1ce67aec2Improved the static asserting, compiles on GCC now but MSVC is failing.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 03:39:11 +0100
120a8cda34Fixed broken C++ 11 support.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 03:08:47 +0100
4fecca10b6try again with clang.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-04 01:51:28 +0100
0dde08e428Fix clang problems.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 18:05:53 +0100
207143f1ebTry disabling gcc 4.8
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 17:56:09 +0100
dad2b2cef5try again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 17:51:36 +0100
b7ea196017Hopefully clang will be happy now.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 17:45:10 +0100
aca45c537dSmall clang fix.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 17:12:41 +0100
d64f4c20c5First working future continuations. Lots more testing to be added later, but this actually seems to work.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 17:09:59 +0100
2ab25936fbAdded future.then(), but it is not compiling.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 14:34:21 +0100
1153088b6a- [x] Refactor the tribool logic mapping such that empty => unknown.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-03 11:26:54 +0100
6c852498f6Fixed failing constexpr tests.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 13:39:45 +0100
840f3470damonad.next() now has build time optimised do_next implemented, and therefore is now available without BOOST_SPINLOCK_MONAD_ENABLE_OPERATORS.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 13:13:44 +0100
6803e9d8baAdded missing typenames.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 03:51:54 +0100
a31d67b258Added ability to store an optional std::function continuation which is called when the state is set by promise.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 03:49:40 +0100
43b2b7df49Added test of make_ready_XXX.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 02:59:27 +0100
1a689653b8Fixed GCC and clang breakage.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 01:34:28 +0100
3d331df79aBroke monad into own doxygen group.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-02 01:25:55 +0100
1f361f9bb6Improved docs for future promise substantially.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 15:24:40 +0100
975bcde6b6Fixed two standard conformance failures.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 13:54:01 +0100
2c719ac954Updated todo list.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 12:43:20 +0100
46fa713841Made optional the future constexpr folding.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 04:30:23 +0100
2cfbd8cc54Added future_option, future_result plus tests for them.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 03:17:34 +0100
68847ff62fPut back forceinline on MSVC
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 01:36:35 +0100
ac7f60959dImprove future docs.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-07-01 01:13:34 +0100
e49e78ff00Added benchmarks for VS2015
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 15:22:36 +0100
f680c76236- [x] Implement shared_future_ptr which thunks a shared_future API through a shared_ptr to basic_future<shared_future_policy>.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 14:45:58 +0100
8a491994a6Fixes for GCC 4.8
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 13:08:55 +0100
2d55d44998Hopefully now fully passing on all platforms.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 12:42:27 +0100
863853fa99Fixed rebind_cast and added conformance test for it.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 12:20:44 +0100
bcd2e99bc0- [x] Implement shared_future_policy and a conformance suite for shared_future.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 04:00:56 +0100
046860e78b- [x] Return monad_errc::exception_present error code for when get_error() sees an excepted state.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 01:55:45 +0100
5a8313adbc- [x] Add iostream overloads for basic_monad
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-30 01:32:59 +0100
ad994b7868Now thread sanitiser and valgrind drd problem free and totally green across the board.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-29 15:09:26 +0100
fcb5e645b7Fixed bug in spinlock where is_lockable_locked was taking slow path.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-29 13:26:41 +0100
c1c3ae2592Added unit test for testing performance of lightweight future promise
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-29 04:22:37 +0100
97ac5bc4c8- [x] Have future-promise conformance suite also run for std::future.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-29 01:31:02 +0100
05fa315cbaAdded VS2015 benchmarks for future promise.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-28 04:12:27 +0100
23a0906ec0Added some benchmarks for future-promise.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-28 03:47:24 +0100
597a603af2VS2015 *actually* spotted bad C++ that neither clang nor GCC did. I am astonished!
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-27 02:46:44 +0100
0da3919feaAll unit tests passing again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-27 02:38:34 +0100
278749235eLots of work on getting next gen promise-future into shape. Compiles but fails its unit tests quite badly.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-26 17:52:32 +0100
d228607e43Fixed missing option min result.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-26 04:18:18 +0100
b031a4e3dbUpdated for MSVC.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-26 04:10:06 +0100
44a89e0533Try getting constexpr msvc test to use finished executables.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-26 03:49:38 +0100
a1799b7082Disable renamed constexpr test
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 16:55:49 +0100
321c35a7f3Fix parse failure in count_opcodes.py
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 16:50:20 +0100
b94b1f6aebRedisable renamed test.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 16:29:20 +0100
2e430e3ff2Forgot to enable monadic operators for MSVC constexpr
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 16:24:05 +0100
964ce2d756Added constexpr testing for result<T>, option<T>.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 16:20:10 +0100
c39c2d61d5Fixed up docs
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 14:53:02 +0100
657fac5d37Added &, | and >> operators.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 14:42:11 +0100
bb24f6aa27- [x] Add match() function which visits a callable on the contents.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 13:45:40 +0100
ca766c4894- [x] If monad type is a callable, let the monad be callable. - [x] Rename .then() to .next().
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 10:56:17 +0100
fee843dd2eFixed option<bool> being silly large, and added unit testing to ensure it remains so.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 03:24:13 +0100
58b807469aFinished porting code over to new policy based design.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-25 02:37:27 +0100
a6494320bdReenable unwrap()
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-24 14:54:07 +0100
bdf09d6e01Still need to restore unwrap(), then(), bind() and map() but ...
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-24 14:36:18 +0100
497ecc7757Minor docs fix
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-23 15:10:53 +0100
36586c6555Make tribool nature of monad very explicit with an actual tribool.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-23 14:20:45 +0100
1bdef95a0fAdd tribool
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-23 14:08:55 +0100
4dbaad6738More work items.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-22 01:43:38 +0100
fd786656bfFixed bugs mentioned in boost-dev review. Added task list.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-22 01:08:08 +0100
4987f60e29Fixed missing EOL for complexity guarantees
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 17:48:35 +0100
6108ee3d06Fixed missing bind example in docs.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 17:45:32 +0100
7a65330a1cNow ready for Boost review.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 17:35:25 +0100
6f45787900Added monad example for boost-dev review, unfortunately it fails to compile :)
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 14:59:09 +0100
6f632d061eAdded opcodes for then() and bind()
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 02:35:45 +0100
71a6954adeAdd definitive assembler for all remaining tests.
Niall Douglas
2015-06-19 02:18:56 +0100
b3b4f95ee4Added max and min constexpr tests for then and bind
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 02:11:32 +0100
d9f858384fmin_monad_then for clang and gcc.
Niall Douglas
2015-06-19 01:35:15 +0100
5ddd2dcbddAdd min_monad_then constexpr test.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-19 01:26:56 +0100
06fd8b0b8cupd
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-17 14:04:38 +0100
c57472adbctry again
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 18:04:34 +0100
388cab042dDisable failing constexpr test in VS2015.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 18:01:10 +0100
9e6020714dDisable tests for VS2015 where the compiler is clearly suffering memory corruption internally.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 17:57:47 +0100
853b5fb128Have withmsvc generate single and multithreaded test executables
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 17:51:08 +0100
35a6ab7732Try throwing ~monad fix on CI.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 17:40:53 +0100
0d1a435eefmap() and bind() fully working and passing all tests. Finally.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2015-06-16 17:33:14 +0100