Commit Graph

  • 1e55bc80eb Worked around ICE in VS2015 Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-11 17:14:45 +0100
  • af50ecd711 Removed accidentally still present vptr from future-promise. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-11 15:57:15 +0100
  • cb4e62d9d2 Fully 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
  • 5687d98d5b wip refactor Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-10 02:20:18 +0100
  • 990b2b67fe wip 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
  • 7b5a78d8ab wip 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
  • ebb1573bbf wip 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
  • de13b706f3 wip 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
  • a29167061a Refactored 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
  • abfbb7c357 Should 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
  • 018a82fd3f again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 16:08:58 +0100
  • 5a6db70202 again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 16:01:41 +0100
  • 3238e51a78 again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 15:54:06 +0100
  • 89dfa359a5 again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 15:50:56 +0100
  • cebb8f4d65 again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 15:38:33 +0100
  • 1f2b4f63d1 typos Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 15:28:26 +0100
  • 7f190808d0 Allow monads to explicitly convert when compatible. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-06 15:21:48 +0100
  • 7d1affd42e wip 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
  • 83bbcdf864 upd Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-04 04:36:01 +0100
  • af6014049b Should work now on all compilers. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-04 04:23:36 +0100
  • 2b9298ce22 More tightening of then() callable constraints. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-04 03:55:37 +0100
  • d1ce67aec2 Improved 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
  • 120a8cda34 Fixed broken C++ 11 support. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-04 03:08:47 +0100
  • 4fecca10b6 try again with clang. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-04 01:51:28 +0100
  • 0dde08e428 Fix clang problems. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-03 18:05:53 +0100
  • 207143f1eb Try disabling gcc 4.8 Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-03 17:56:09 +0100
  • dad2b2cef5 try again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-03 17:51:36 +0100
  • b7ea196017 Hopefully clang will be happy now. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-03 17:45:10 +0100
  • aca45c537d Small clang fix. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-03 17:12:41 +0100
  • d64f4c20c5 First 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
  • 2ab25936fb Added 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
  • 6c852498f6 Fixed failing constexpr tests. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-02 13:39:45 +0100
  • 840f3470da monad.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
  • 6803e9d8ba Added missing typenames. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-02 03:51:54 +0100
  • a31d67b258 Added 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
  • 43b2b7df49 Added test of make_ready_XXX. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-02 02:59:27 +0100
  • 1a689653b8 Fixed GCC and clang breakage. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-02 01:34:28 +0100
  • 3d331df79a Broke monad into own doxygen group. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-02 01:25:55 +0100
  • 1f361f9bb6 Improved docs for future promise substantially. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 15:24:40 +0100
  • 975bcde6b6 Fixed two standard conformance failures. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 13:54:01 +0100
  • 2c719ac954 Updated todo list. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 12:43:20 +0100
  • 46fa713841 Made optional the future constexpr folding. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 04:30:23 +0100
  • 2cfbd8cc54 Added future_option, future_result plus tests for them. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 03:17:34 +0100
  • 68847ff62f Put back forceinline on MSVC Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 01:36:35 +0100
  • ac7f60959d Improve future docs. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-07-01 01:13:34 +0100
  • e49e78ff00 Added 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
  • 8a491994a6 Fixes for GCC 4.8 Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-30 13:08:55 +0100
  • 2d55d44998 Hopefully now fully passing on all platforms. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-30 12:42:27 +0100
  • 863853fa99 Fixed 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
  • ad994b7868 Now 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
  • fcb5e645b7 Fixed 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
  • c1c3ae2592 Added 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
  • 05fa315cba Added VS2015 benchmarks for future promise. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-28 04:12:27 +0100
  • 23a0906ec0 Added some benchmarks for future-promise. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-28 03:47:24 +0100
  • 597a603af2 VS2015 *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
  • 0da3919fea All unit tests passing again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-27 02:38:34 +0100
  • 278749235e Lots 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
  • d228607e43 Fixed missing option min result. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-26 04:18:18 +0100
  • b031a4e3db Updated for MSVC. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-26 04:10:06 +0100
  • 44a89e0533 Try getting constexpr msvc test to use finished executables. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-26 03:49:38 +0100
  • a1799b7082 Disable renamed constexpr test Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 16:55:49 +0100
  • 321c35a7f3 Fix parse failure in count_opcodes.py Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 16:50:20 +0100
  • b94b1f6aeb Redisable renamed test. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 16:29:20 +0100
  • 2e430e3ff2 Forgot to enable monadic operators for MSVC constexpr Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 16:24:05 +0100
  • 964ce2d756 Added constexpr testing for result<T>, option<T>. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 16:20:10 +0100
  • c39c2d61d5 Fixed up docs Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 14:53:02 +0100
  • 657fac5d37 Added &, | 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
  • fee843dd2e Fixed 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
  • 58b807469a Finished porting code over to new policy based design. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-25 02:37:27 +0100
  • a6494320bd Reenable unwrap() Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-24 14:54:07 +0100
  • bdf09d6e01 Still 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
  • 497ecc7757 Minor docs fix Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-23 15:10:53 +0100
  • 36586c6555 Make 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
  • 1bdef95a0f Add tribool Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-23 14:08:55 +0100
  • 4dbaad6738 More work items. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-22 01:43:38 +0100
  • fd786656bf Fixed 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
  • 4987f60e29 Fixed missing EOL for complexity guarantees Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-19 17:48:35 +0100
  • 6108ee3d06 Fixed missing bind example in docs. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-19 17:45:32 +0100
  • 7a65330a1c Now ready for Boost review. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-19 17:35:25 +0100
  • 6f45787900 Added 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
  • 6f632d061e Added opcodes for then() and bind() Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-19 02:35:45 +0100
  • 71a6954ade Add definitive assembler for all remaining tests. Niall Douglas 2015-06-19 02:18:56 +0100
  • b3b4f95ee4 Added 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
  • d9f858384f min_monad_then for clang and gcc. Niall Douglas 2015-06-19 01:35:15 +0100
  • 5ddd2dcbdd Add min_monad_then constexpr test. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-19 01:26:56 +0100
  • 06fd8b0b8c upd Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-17 14:04:38 +0100
  • c57472adbc try again Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-16 18:04:34 +0100
  • 388cab042d Disable failing constexpr test in VS2015. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-16 18:01:10 +0100
  • 9e6020714d Disable 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
  • 853b5fb128 Have withmsvc generate single and multithreaded test executables Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-16 17:51:08 +0100
  • 35a6ab7732 Try throwing ~monad fix on CI. Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) 2015-06-16 17:40:53 +0100
  • 0d1a435eef map() 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