Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f0036bd7a4
upd
2016-07-14 16:43:31 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8d2b6c2968
Travis and appveyor now use cmake
2016-07-14 16:36:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2b5a4a1937
Got Outcome working with precompiled headers on GCC
2016-07-14 16:15:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3c53e3818e
Outcome now working very well on Windows and Linux with boost lite cmake tooling
2016-07-14 12:20:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
680648945d
wip
2016-07-12 09:11:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d9a2d5f95f
Brought in the new cmake tooling from afio
2016-07-12 08:48:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3a3cc0321e
upd
2016-07-09 21:31:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
44310e2608
upd
2016-07-09 14:48:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
09be3104ba
upd
2016-07-02 19:01:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b5e0f6b2c0
Fix incorrect printing of error_code_extended.
2016-06-29 19:03:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
759632fdf5
Fix unit test failures on GCC 6
2016-06-29 13:16:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
34a0c9881b
updated docs.
2016-06-29 09:44:30 +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)
155817d18d
result<T> now has a trivial destructor if T has a trivial destructor. A big gain for the compiler optimiser.
2016-06-28 11:31:38 +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)
40352cb0e4
Try again with travis
2016-06-28 09:04:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61eea9c3c9
Currently fails on clang for unknown reasons, so pushing to Travis to see what gives on GCC.
2016-06-28 08:49:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
70c4c14835
Got single byte value storage constexpr happy
2016-06-28 08:13:07 +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)
90e1bfc033
upd
2016-06-24 14:20:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2507ea3f44
Finished monad comparison operators
2016-06-24 14:12:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
016695e277
Lots more work on comparison operators. Still lacking the associative property, but otherwise looking strong.
2016-06-24 09:14:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b6583410f7
Fix regression from adding proper comparison operators.
2016-06-23 20:46:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7bfbba6355
wip comparison operators for monad. This implementation is wrong, but a good basis for more work on it tomorrow.
2016-06-23 17:52:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2f8e7e37d
Added content comparison to value_storage in preparation for adding it to monad later today or tomorrow.
2016-06-23 08:59:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1ca0a10981
Require variable template support in the compiler
2016-06-23 08:31:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f57405be68
Broke out value storage compatibility testing into template variables
2016-06-23 08:24:23 +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)
4bde3fbb52
Add constexpr results for winclang
2016-06-22 07:46:35 +01:00
Niall Douglas
f096bbb929
Freshen constexpr results for GCC 5.4 and clang 3.8
2016-06-20 02:08:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
caa319d82c
Freshen constexpr tests for VS2015 Update 3 RC
2016-06-19 23:40:46 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
236f87789e
upd
2016-06-18 12:24:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c88d252a6
Fix how system_error is converted into an error_code
2016-06-15 08:21:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b34f4fc0fc
Modernised ringbuffer_log
2016-06-07 21:58:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0285cbf9ad
upd
2016-06-07 09:36:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
08242a3b11
upd
2016-06-06 13:03:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7e835fcdae
Reworked to fit latest boost-lite
2016-06-03 17:32:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4e80325d61
Fix clang parse error with last commit
2016-06-03 08:51:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
17620fa643
Fixed the upconverting constructors which were horribly broken. Added a unit test to ensure this never happens again.
2016-06-03 08:36:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
eee25c669f
upd
2016-05-24 06:50:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
29eb90ed5e
Rename Boost.BindLib to boost-lite
2016-05-23 21:51:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f75d55d1d1
Purge last remaining vestiges of monadic future promise. It's now only Outcome baby!
2016-05-23 00:24:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ada62eff0f
Relocated spinlock and tribool into Boost.BindLib
2016-05-22 20:44:51 +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)
262ee7ac35
Add make_empty_*() free functions. These document the code using them :)
2016-05-17 09:12:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2fb5b0edf4
doxygen comment fix
2016-05-13 09:19:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d33bc1eb4e
ostream operator<< didn't compile when fed an option<T> or result<T>.
2016-05-12 18:44:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
41659e9540
make_XXX() didn't permit parameter implicit conversion, fixed.
...
Added family of as_XXX() up-conversion free functions plus basic_monad can now explicitly construct from a less variant into a more variant configuration.
2016-05-12 18:43:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
17e69e7275
More clang fixes.
2016-04-21 21:42:31 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bf8a4ef99b
Fix GCC compatibility.
2016-04-21 20:05:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5442d3efa6
More GCC fixes.
2016-04-21 19:50:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5956143aa2
More fixes for Linux and GCC support.
2016-04-21 19:34:24 +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)
02e3bafb84
Mount docs into doc/html
2016-04-21 18:31:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8204ac77ab
Fixed up very sloppy handling of error_code_extended.
2016-04-21 15:00:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2740d969ee
Add explicit converting constructor from error_code to error_code_extended.
2016-04-20 17:16:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c28a464050
upd
2016-04-10 18:21:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8e19e65eec
upd
2016-04-09 19:02:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cec3de4938
Add missing win32 error code to map.
2016-04-09 11:41:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e08a2c87a1
Added a nasty but quick macro for hooking the creation of error_code_extended.
2016-04-01 17:13:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b24b10b855
Reconfigured monad to use a new error_code_extended implementation which can retain the original win32 error code and message after mapping to a POSIX error code.
2016-04-01 01:14:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ff58fa0d7
Update bindlib to include ringbuffer_log. Add a few missing win32 error codes to map to POSIX.
2016-03-31 17:31:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
58989f5295
Add mapping of appropriate win32 error codes to POSIX ones.
2016-03-28 02:03:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00599016a9
Fixed up missing inlines on all the make_* functions.
2016-03-28 00:22:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
538f9e9ecc
Fixed all remaining Level 4 warnings on MSVC.
2016-03-21 10:02:49 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
163cda5a60
Suppress warnings.
2016-03-21 01:04:25 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
977e786200
Restore ability to use multiple BOOST_OUTCOME_FILTER_* in a single context.
2016-03-19 15:13:30 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4861ea5e3f
Added BOOST_OUTCOME_CATCH_EXCEPTION_TO_RESULT() helper macro.
2016-03-12 21:29:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0198516c70
Add [[nodiscard]] attribute to all basic_monad implementations.
2016-03-12 18:35:54 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bdd623cf2e
upd
2016-02-02 14:26:09 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9c3610595e
Added BOOST_OUTCOME_THROW_* boilerplate macros.
2016-01-27 08:35:43 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
20a054d664
Fix warning about redefining BOOST_OUTCOME_GLUE
2016-01-19 09:49:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
62db0957fd
make_ready_outcome<void>() was not working.
2016-01-08 12:30:18 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
744126065e
Still having weird problems getting unique names to expand out of BOOST_OUTCOME_FILTER_*, so bypassed temporarily.
2016-01-08 09:02:34 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
359896a5ae
Sigh, more fixes to BOOST_OUTCOME_FILTER_*.
2016-01-07 09:14:32 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2e613ebe2a
Reworked BOOST_OUTCOME_PROPAGATE_* and BOOST_OUTCOME_FILTER_* once again.
2016-01-05 09:27:08 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
51bc762732
Remove direct usage of DWORD.
2015-12-18 09:14:54 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
79596c06be
Replace BOOST_OUTCOME_PROPAGATE and BOOST_OUTCOME_AUTO with actually useful macro helpers.
2015-12-13 00:40:16 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
281f39e4b2
Add extra make_errored_XXX() overload for DWORD (i.e. GetLastError())
2015-11-28 18:49:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f9eea01e2e
Fixed bug where returning a not ready future from a continuation did not correctly propagate the not ready future into the returned future. Added unit test for the above.
2015-11-21 18:10:04 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c3041122cb
typo
2015-11-03 17:48:33 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bb76a6401d
Add make_errored_future(int) overloads for directly constructing an errored future from a POSIX error code.
2015-10-03 17:05:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4cc2961acc
Default to not throwing no_state if promise set after future dead. Fixes issue #4 .
2015-09-12 13:59:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
591d7666a7
Fix issue #4 where setting a promise after a future destruction with continuations was incorrectly throwing no_state.
2015-09-10 19:23:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e8f37d66e6
Fix initialising multiple members of union.
2015-09-09 12:46:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7f9fdb678
make_ready_future() now correctly makes a ready future<void>. Fixes issue #3 .
2015-09-09 12:35:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d6bf651c21
Very substantially improved support for monad<void>.
2015-09-09 12:19:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
33d037c468
fix wrong include
2015-09-08 13:53:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
26928d0ab1
Fix taking address of bitfield error.
2015-09-07 19:35:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1523921e1
Fixed instantiation dependency failure in previous commit.
2015-09-07 19:15:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
05762ce477
Fix issue #2 where future<void>::get() was not returning a void type.
2015-09-07 19:04:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
30eb27cbe6
Fix compile error on GCC 5
2015-09-07 18:08:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
111e8263cf
Renamed the directories to outcome.
2015-08-29 18:47:16 +01: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)
b7486938c5
Added BOOST_MONAD_PROPAGATE() and BOOST_MONAD_AUTO().
2015-08-19 20:11:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ce2dea37a0
Fixed bug where future<void>.get() was not compiling. This fixes issue #1 .
2015-08-17 21:07:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e493fa839f
Made much more rigorous the construction of shared_future_ptr.
...
Fixed a memory corruption bug where if a shared_future was destructed before its promise's continuations fired, it blatted all over memory. Sorry.
2015-08-16 23:05:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
98b931c37c
Fixed bug where if a future was destroyed after being used to add continuations, the continuations were not being executed.
...
Did some work on shared_future, but I really need to sit down and make rigorous when it should be make_shared and when it should be enable_from_this.
2015-08-15 23:06:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8ac31ba8e1
Fixed bad semantics in future promise where if a future died before a promise and then you tried to set state, it was throwing promise_already_set instead of no_state.
2015-08-15 22:02:21 +01:00
Niall Douglas
62c6408dd4
GCC 5 was complaining about out of order make_error_code declaration on Boost. It's actually a Boost bug, but worked around it.
2015-08-15 20:12:49 +01:00
Niall Douglas
b8a9e0959f
shared_future was still using wrong promise type :(
2015-08-15 19:13:59 +01:00
Niall Douglas
f85a9f6f30
shared_future had the wrong promise_type :(
2015-08-15 18:44:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c6178a523
Added basic_future::get_state().
...
Added basic_future::get_monad().
2015-08-15 18:24:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84c211992a
Fix misplaced constexpr
2015-08-15 17:11:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a30933ffea
fix boost thread path for older boost.
2015-08-09 14:04:09 +01:00
Niall Douglas
dc9db20476
Actually fix boost error code support.
2015-08-09 02:43:19 +01:00
Niall Douglas
f03a405088
typo
2015-08-09 01:54:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7e3df10fed
future_category and future_errc were mismapped.
2015-08-08 20:49:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
013309f8d4
Typo
2015-08-08 19:43:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a83a36fb7e
Added BOOST_MONAD_USE_BOOST_ERROR_CODE support.
2015-08-08 19:38:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d78e496fd4
Minor fixes.
2015-08-08 19:15:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a0aacbcf23
upd
2015-08-07 02:48:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84cf53b555
Boost.Monad is ported to use Boost.Thread, Chrono instead of the STL. Multi-abi unit test to test both ABIs coexist in the same translation unit added and verified as working on MSVC.
2015-08-04 19:40:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5dbe5eb4c9
Boost.Monad is now fully Boost.APIBinded
2015-08-04 18:11:30 +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)
d7fcda449b
Boost.Monad rename part 5
2015-08-03 18:51:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1164c5828
Boost.Monad rename part 4
2015-08-03 18:22:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ee0a0f0c11
Boost.Monad rename part 3
2015-08-03 18:13:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5f33a65e9e
Rename to Boost.Monad part 2
2015-08-03 18:00:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01aebc0b94
Rename to Boost.Monad part 1
2015-08-03 17:55:11 +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)
7d6ef51f8b
Switched on constexpr for VS2015. With a few workarounds, seems to work.
2015-07-22 03:01:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c86127ee8d
typo
2015-07-19 06:07:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9801062c37
Added global constexpr variable empty.
...
Added missing make_result, make_option functions.
2015-07-19 05:59:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f702ec203c
Fix thread sanitiser warning.
2015-07-16 03:51:18 +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)
ac0ce8b4ed
wip
2015-07-15 05:00:56 +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)
19e794f459
Fix overuse of constexpr in C++ 11
2015-07-12 18:20:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e43439e470
typo
2015-07-12 18:14:49 +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)
faeb93b6a0
shared_future continuations compiling, but not working.
2015-07-12 16:10:10 +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)
465bacb78f
Many bug fixes. Nearly passes test suite, there is some problem remaining in the threaded test.
2015-07-12 03:18:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1e55bc80eb
Worked around ICE in VS2015
2015-07-11 17:14:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af50ecd711
Removed accidentally still present vptr from future-promise.
2015-07-11 15:57:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb4e62d9d2
Fully refactored, compiling clean, constexpr tests are nearly all green. Hangs during unit tests though (tomorrow!).
2015-07-10 04:24:34 +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)
7b5a78d8ab
wip removed any knowledge of the future type from promise, thus permanently closing the door to ever type slicing the future.
2015-07-08 04:56:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ebb1573bbf
wip refactoring basic_future to match the earlier refactoring of basic_monad
2015-07-07 20:40:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
de13b706f3
wip ground up refactor to eliminate all reinterpret_cast completely
2015-07-07 19:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a29167061a
Refactored to eliminate use of reinterpret_cast entirely and now uses abstract base classes instead.
2015-07-07 01:18:44 +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)
018a82fd3f
again
2015-07-06 16:08:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a6db70202
again
2015-07-06 16:01:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3238e51a78
again
2015-07-06 15:54:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
89dfa359a5
again
2015-07-06 15:50:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cebb8f4d65
again
2015-07-06 15:38:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1f2b4f63d1
typos
2015-07-06 15:28:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7f190808d0
Allow monads to explicitly convert when compatible.
2015-07-06 15:21:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7d1affd42e
wip making continuations race free, also implemented sleeping waits. Compiles on MSVC, I strongly doubt anywhere else.
2015-07-06 03:51:34 +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)
af6014049b
Should work now on all compilers.
2015-07-04 04:23:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2b9298ce22
More tightening of then() callable constraints.
2015-07-04 03:55:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d1ce67aec2
Improved the static asserting, compiles on GCC now but MSVC is failing.
2015-07-04 03:39:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
120a8cda34
Fixed broken C++ 11 support.
2015-07-04 03:08:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4fecca10b6
try again with clang.
2015-07-04 01:51:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0dde08e428
Fix clang problems.
2015-07-03 18:05:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
207143f1eb
Try disabling gcc 4.8
2015-07-03 17:56:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dad2b2cef5
try again
2015-07-03 17:51:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b7ea196017
Hopefully clang will be happy now.
2015-07-03 17:45:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aca45c537d
Small clang fix.
2015-07-03 17:12:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d64f4c20c5
First working future continuations. Lots more testing to be added later, but this actually seems to work.
2015-07-03 17:09:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ab25936fb
Added future.then(), but it is not compiling.
2015-07-03 14:34:21 +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)
840f3470da
monad.next() now has build time optimised do_next implemented, and therefore is now available without BOOST_SPINLOCK_MONAD_ENABLE_OPERATORS.
2015-07-02 13:13:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6803e9d8ba
Added missing typenames.
2015-07-02 03:51:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a31d67b258
Added ability to store an optional std::function continuation which is called when the state is set by promise.
2015-07-02 03:49:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43b2b7df49
Added test of make_ready_XXX.
2015-07-02 02:59:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1a689653b8
Fixed GCC and clang breakage.
2015-07-02 01:34:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3d331df79a
Broke monad into own doxygen group.
2015-07-02 01:25:55 +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)
46fa713841
Made optional the future constexpr folding.
2015-07-01 04:30:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2cfbd8cc54
Added future_option, future_result plus tests for them.
2015-07-01 03:17:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
68847ff62f
Put back forceinline on MSVC
2015-07-01 01:36:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ac7f60959d
Improve future docs.
...
Try pragma inline depth on MSVC just to see what happens.
2015-07-01 01:13:34 +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)
8a491994a6
Fixes for GCC 4.8
2015-06-30 13:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2d55d44998
Hopefully now fully passing on all platforms.
2015-06-30 12:42:27 +01:00
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)
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)
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)
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)
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 (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)
06fd8b0b8c
upd
2015-06-17 14:04:38 +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)
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
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d241ff17f
bind() is nearly working. Currently it fails to detect an auto lambda which returns a monad, a problem I shall have to ponder how to solve as it isn't entirely straightforward.
2015-06-16 04:23:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
921dcb101d
wip
2015-06-15 19:00:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fed48c3573
Forgot to update function_argument_form.
2015-06-15 11:31:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
45dbfb9a07
updated to match stackoverflow reduced example.
2015-06-15 11:25:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8f58896bac
minor tidy
2015-06-15 04:43:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01d0b3150d
Figured out the problem. Now working very well indeed. Next step tomorrow is to add the detection of callables taking not value_type, and in theory we are then feature complete.
2015-06-15 04:36:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0b2e91fe6e
Added in rvalue detection traits. Working now, except that I am stuck on how to best detect when an implicit conversion is being done when calling the callable.
2015-06-15 04:23:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ee7e43d1ba
Merge branch 'master' of github.com:ned14/boost.spinlock
2015-06-15 03:25:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97e517a68f
Added acknowledgement of clever map and bind source.
2015-06-15 03:25:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e184a75e83
Fixed clang breakage
2015-06-13 17:56:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cfa36eec9a
Wrote docs for monadic operators. Now just need to finish implementing them!
2015-06-13 02:03:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3dffba1beb
then(), bind() and map() all now working perfectly except that automatic move semantics isn't. Asked stackoverflow on that one.
2015-06-12 12:59:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f6ec99c0a1
Added then() and bind() monadic operations.
2015-06-12 04:08:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0c8d3347ab
Workaround GCC failure
2015-06-12 02:16:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5b35f714a2
More minor warnings.
2015-06-12 01:59:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1c9c063b83
Remove clang warnings.
2015-06-12 01:53:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d867577ba
Add unwrap().
2015-06-12 01:34:12 +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)
64d3b72dd9
docs.
2015-06-11 23:23:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
089ee51b51
try again
2015-06-11 14:43:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dbd850034a
Added complexity guarantees.
2015-06-11 14:39:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a5114cc144
Work around a noexcept weirdness in libstdc++
2015-06-11 13:34:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6789930fee
Fix POSIX build breakage
2015-06-11 13:26:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
62bdae1f34
Relocate <future> include.
2015-06-11 10:16:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9e6f70253c
Fixed snippets
2015-06-11 04:05:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a2b65715c
Use doxygen snippets
2015-06-11 04:01:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e0743bf719
More minor docs fixes.
2015-06-11 03:27:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f538c990a3
Missing header fix
2015-06-11 03:20:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43ff504d66
Added test of monad as an optional.
2015-06-11 03:11:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86060e14d8
Added test that swap() works.
2015-06-11 02:45:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00c341d218
Added test for whether monad can hold a STL container and itself be inside a STL container.
2015-06-11 02:33:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
297c7013d1
Added noexcept and weird udt unit tests.
2015-06-11 02:19:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a75a10531d
More docs updates
2015-06-11 00:59:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
330c9cc5ba
More doc fixes
2015-06-11 00:46:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e2c4b22baf
docs update
2015-06-11 00:18:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
627ab95a15
typo
2015-06-10 15:05:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8d1d58e6bb
Increase opcount counter loop timeout to 1000
2015-06-10 14:57:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7dcab1dd0
monad, promise and future all now take their error and exception types as template parameters.
...
monad now throws monad_error with monad_category by default.
2015-06-07 03:13:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e1ff73f72c
Split future.hpp into monad.hpp
2015-06-07 00:32:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1241e2c500
Disabled another failing test on gcc/clang.
2015-06-05 03:26:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2f1039d851
typo
2015-06-05 03:16:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e5a5a15f92
Added unit test for monad.
2015-06-05 03:14:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d60d240bf1
Restore default monad move constructor
2015-06-05 01:37:46 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01e6a82f61
More constexpr monad tests
2015-06-05 00:45:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2243b0ceaa
Fixed excessive constexpr
2015-06-04 23:34:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6e4203bea
Fleshed out the monad class
2015-06-04 19:04:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a17c598a3
Wrote python script to parse assembler dump of lightweight future promise and construct an opcount.
...
Persuaded MSVC to constexpr fold almost all of the time.
2015-06-04 03:53:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
62c1f18278
Stamped out a few more APIs (commented out)
2015-05-27 10:48:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00a70e09ae
Fixed constexpr folding failure caused by get()
2015-05-26 00:28:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
226e081f66
Broke monad out from future
2015-05-25 18:54:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1e70caf8d8
Fixed bug in lack of constexpr reduction of future.
2015-05-25 04:38:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4c8566ae18
Try putting back the unrestricted union
2015-05-25 04:27:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c19899c200
more small changes
2015-05-25 04:10:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c70b8389b
Revert "Experimental replacement of promise future move constructors with intrusive variants."
...
This reverts commit 61313e3b30
.
2015-05-25 03:54:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61313e3b30
Experimental replacement of promise future move constructors with intrusive variants.
2015-05-25 03:51:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3da8d3bb2a
Small fixes.
2015-05-25 03:08:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2fdd81e75e
Added constexpr folding for future, and future from promise.
2015-05-25 02:51:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b8468a730d
Yay got it constexpr reducing on gcc yay!
2015-05-24 03:09:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bd0b230ac7
Got lightweight future-promise working on VS2015. Still no joy on the constexpr reduction :(
2015-05-24 02:56:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
72045c4fe3
Added beginnings of assembler dump unit testing
2015-05-23 22:09:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
12a534d886
Added first edition of lightweight future-promise.
2015-05-23 21:27:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ab682dff70
Fixed a failure to unlock buckets on failure to allocate new buckets in rehash. Thanks to Mikhail for reporting this.
2015-04-02 01:57:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8e09d8ae51
upd
2015-03-26 18:30:00 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c4a2903a88
upd
2015-03-26 18:22:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3b992806e8
Add atomic fences after every modification of std::vector holding bucket items. Almost certainly unnecessary, but no harm to have these.
2015-03-09 19:09:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0a27daf4e1
Try to see if I can see the cause of the suppressed _rehash() race reported by tsan.
2015-03-07 21:06:35 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
47f2064952
upd
2015-03-06 01:37:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7305f31c86
upd
2015-02-26 03:03:27 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9a4646421a
Removed the dependency on Expected, and the expected_future as no longer needed.
2015-01-28 17:50:21 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c99466bc83
upd
2015-01-17 03:10:44 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
98be366538
upd
2015-01-12 20:11:36 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b840973f7a
upd
2015-01-11 00:43:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b367ace54f
upd
2015-01-10 21:31:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
10e68631e6
ups
2015-01-05 16:23:37 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a88582f28
Workaround too good iterator checking under MSVC.
2015-01-03 18:10:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b00b283ea3
Added unit testing for tristate and pointer spinlocks.
2014-12-12 20:58:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b0e726af60
Don't pad buckets.
2014-12-12 00:56:09 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cf64f92943
upd
2014-12-11 23:58:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2ecbdfcca
Replaced CATCH with BindLib unit testing.
2014-12-11 22:21:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
051875b795
Fixed build failures. Added a FNV-1a hash implementation.
2014-12-11 21:28:17 +00:00