Commit Graph

2221 Commits

Author SHA1 Message Date
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