Commit Graph

160 Commits

Author SHA1 Message Date
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
364ada2d92
Added monad visualiser for VS2015 2016-06-29 09:21:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b9ae79472c
Regened constexpr for VS2015 Update 3 RTM 2016-06-28 12:30:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
281ef69c22
wip on making result<int> be trivially destructible 2016-06-28 09:59:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c27d9c8906
wip on finishing constexpr support for monad 2016-06-27 09:30:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6eb4cbdba4
Tied up some legacy macros for dealing with C++ 14 constexpr 2016-06-23 08:07:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb2898b135
Moved the non-allocating future promise into attic. 2016-05-22 20:40:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e13dfe72bb
Try again Travis 2016-04-21 18:57:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a9202c138d
Try again with Travis, and update Readme to point at Travis + Appveyor 2016-04-21 18:32:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ef5848f0f9 Update todo items 2016-01-27 19:33:41 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97e5c6135f Lots of renaming Monad to Outcome. 2015-08-29 18:40:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7e6f05ffdf Fix bad readme badge links. 2015-08-07 03:11:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3694a2c616 Docs now live on github. 2015-08-07 03:07:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b6a10e553a Relocated monads into boost::monad namespace, leaving futures alone in the boost::monad::lightweight_futures namespace. 2015-08-03 19:19:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e582acc116 upd 2015-08-03 17:41:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0640e842b8 Got value_storage_type and therefore basic_monad and basic_promise and basic_future default constructor working with constexpr on VS2015. 2015-07-23 00:54:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
494d4ed7fb - [x] Implement wait_for()/wait_until().
- [x] when_all composure.
2015-07-16 03:29:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0ee099b19a Theoretically wait composure is implemented. Really must remember to test exception safety. 2015-07-13 03:02:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5224a0a5c9 - [x] Implement N4399 continuations for shared_future.
Also now compiling on VS2015 again.
2015-07-12 17:49:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86ae0f8c82 Reenabled future continuations. All passing green. 2015-07-12 15:12:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c9fe0bb21 Fixed all remaining benchmarks and performance regressions on GCC. Well, shared_ptr is a lot slower than before, the new design seems to not optimise as well if memory synchronisation is happening (the simple loop is also much slower, but the producer consumer test is actually slightly improved) 2015-07-12 05:43:51 +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)
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)
83bbcdf864 upd 2015-07-04 04:39:03 +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)
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)
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)
bcd2e99bc0 - [x] Implement shared_future_policy and a conformance suite for shared_future. 2015-06-30 04:00:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
046860e78b - [x] Return monad_errc::exception_present error code for when get_error() sees an excepted state. 2015-06-30 01:55:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a8313adbc - [x] Add iostream overloads for basic_monad 2015-06-30 01:32:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad994b7868 Now thread sanitiser and valgrind drd problem free and totally green across the board. 2015-06-29 15:09:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fcb5e645b7 Fixed bug in spinlock where is_lockable_locked was taking slow path.
Fixed compile errors on MSVC.
2015-06-29 13:26:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1c3ae2592 Added unit test for testing performance of lightweight future promise 2015-06-29 04:22:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97ac5bc4c8 - [x] Have future-promise conformance suite also run for std::future.
Fixed a number of conformance failures illustrated by the above.
2015-06-29 01:31:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
05fa315cba Added VS2015 benchmarks for future promise. 2015-06-28 04:12:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
23a0906ec0 Added some benchmarks for future-promise. 2015-06-28 03:47:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
44a89e0533 Try getting constexpr msvc test to use finished executables. 2015-06-26 03:49:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
657fac5d37 Added &, | and >> operators. 2015-06-25 14:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bb24f6aa27 - [x] Add match() function which visits a callable on the contents. 2015-06-25 13:50:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ca766c4894 - [x] If monad type is a callable, let the monad be callable.
- [x] Rename .then() to .next().
2015-06-25 10:56:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bdf09d6e01 Still need to restore unwrap(), then(), bind() and map() but ...
- [x] In addition to value_or(), error_or() etc add value_and(), error_and() etc.
 - [x] Expose detail::value_storage such that it can be specialised for optimal space e.g. for bool.
 - [x] Add null_exception_ptr, null_error_code.
 - [x] Make how error_type is converted into exception_type configurable.
 - [x] Add monad<void>.
 - [x] Add template aliases for different configurations of monad<T> (one of maybe, result, holder, value, retval, potential, likely). Add two additional aliases, one for a monad without exception_ptr, and another for a monad with neither error_code nor exception_ptr (option<T>?).
2015-06-24 14:36:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
36586c6555 Make tribool nature of monad very explicit with an actual tribool. 2015-06-23 14:23:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1bdef95a0f Add tribool 2015-06-23 14:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4dbaad6738 More work items. 2015-06-22 01:43:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fd786656bf Fixed bugs mentioned in boost-dev review. Added task list. 2015-06-22 01:08:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a65330a1c Now ready for Boost review. 2015-06-19 17:35:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b3b4f95ee4 Added max and min constexpr tests for then and bind 2015-06-19 02:11:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
388cab042d Disable failing constexpr test in VS2015. 2015-06-16 18:01:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
15cc3e462f Add todo item. 2015-06-15 04:38:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cbdd0b0af5 docs 2015-06-12 00:25:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d3fb1c0d81 typo 2015-06-04 13:57:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad12698387 Reorg readme badges 2015-06-04 13:56:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ce16e92af Disabled concurrent_unordered_map completely so I can concentrate on lightweight futures. 2015-06-04 12:43:19 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e280a8b66e Added link to docs. 2014-09-14 12:29:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97ec47bedc Updated with some graphs. 2014-09-14 12:09:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aea2b672b9 Renamed project. 2014-08-15 22:52:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4176deb032 Reenabled unit tests. 2014-08-15 22:48:17 +01:00