Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
863853fa99
Fixed rebind_cast and added conformance test for it.
2015-06-30 12:20:44 +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)
597a603af2
VS2015 *actually* spotted bad C++ that neither clang nor GCC did. I am astonished!
2015-06-27 02:46:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0da3919fea
All unit tests passing again
2015-06-27 02:38:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
278749235e
Lots of work on getting next gen promise-future into shape. Compiles but fails its unit tests quite badly.
2015-06-26 17:52:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d228607e43
Fixed missing option min result.
2015-06-26 04:18:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b031a4e3db
Updated for MSVC.
2015-06-26 04:10:06 +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)
a1799b7082
Disable renamed constexpr test
2015-06-25 16:55:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
321c35a7f3
Fix parse failure in count_opcodes.py
2015-06-25 16:50:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b94b1f6aeb
Redisable renamed test.
2015-06-25 16:29:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2e430e3ff2
Forgot to enable monadic operators for MSVC constexpr
2015-06-25 16:24:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
964ce2d756
Added constexpr testing for result<T>, option<T>.
2015-06-25 16:20:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c39c2d61d5
Fixed up docs
2015-06-25 14:53:02 +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)
fee843dd2e
Fixed option<bool> being silly large, and added unit testing to ensure it remains so.
2015-06-25 03:24:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
58b807469a
Finished porting code over to new policy based design.
2015-06-25 02:37:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6494320bd
Reenable unwrap()
2015-06-24 14:54:07 +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)
497ecc7757
Minor docs fix
2015-06-23 15:10:53 +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)
4987f60e29
Fixed missing EOL for complexity guarantees
2015-06-19 17:48:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6108ee3d06
Fixed missing bind example in docs.
2015-06-19 17:45:32 +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)
6f45787900
Added monad example for boost-dev review, unfortunately it fails to compile :)
2015-06-19 14:59:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6f632d061e
Added opcodes for then() and bind()
2015-06-19 02:35:45 +01:00
Niall Douglas
71a6954ade
Add definitive assembler for all remaining tests.
2015-06-19 02:18:56 +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
d9f858384f
min_monad_then for clang and gcc.
2015-06-19 01:35:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ddd2dcbdd
Add min_monad_then constexpr test.
2015-06-19 01:26:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
06fd8b0b8c
upd
2015-06-17 14:04:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c57472adbc
try again
2015-06-16 18:04:34 +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)
9e6020714d
Disable tests for VS2015 where the compiler is clearly suffering memory corruption internally.
2015-06-16 17:57:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
853b5fb128
Have withmsvc generate single and multithreaded test executables
2015-06-16 17:51:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
35a6ab7732
Try throwing ~monad fix on CI.
2015-06-16 17:40:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d1a435eef
map() and bind() fully working and passing all tests. Finally.
2015-06-16 17:33:14 +01:00