Commit Graph

401 Commits

Author SHA1 Message Date
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b23d6ed701
Cleared all remaining warnings on MSVC 2017-09-28 02:10:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cc8e589b54
Added FAQ entry on Outcome's checked<T, E> vs expected<T, E>.
Disabled expected_pass on GCC 6, it won't compile it.
2017-09-28 01:56:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
04638284bf
expected_pass was actually quite broken, fixed. 2017-09-28 01:02:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7d8ee1bbc0
Fix breakage from previous commit. 2017-09-28 00:40:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
10d139b959
Added in the WG21 Expected reference test suite with an emulated Expected shim. 2017-09-27 23:55:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7e716e8169
Fix issue #64 OUTCOME_TRY on excepted outcome is propagating a null error rather than just an exception 2017-08-26 20:48:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
89dc614719
Changed how quickcpplib is found by the build system 2017-08-16 22:25:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
08ad8c08f7
Turns out issue #59 was not actually fixed. Fixed now. Thanks Andrzej! 2017-08-09 23:37:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5685c839c2
Fix failing test. 2017-08-05 17:47:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
685ba575d7
Added error_is_errno status flag used to indicate when error code can be treated as errno.
outcome's comparison functions were completely wrong, fixed.

outcome::result now matches WG21 reference result in behaviours.
2017-08-05 16:49:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2dadef712d
Added WG21 reference implementation of result 2017-08-05 02:05:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb6b70d8e8
Implemented issue #61 for outcome as well. 2017-07-29 00:34:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9f79eb40ad
Fix issue #61 where comparisons between dissimilar results was failing to compile.
Also fixed bug where serialising result<void> failed to compile.
2017-07-28 23:59:31 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cd60cf7fe6
Try again to fix regression 2017-07-28 02:28:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5d76329493
Quite a few regressions had occurred, these are now all fixed. Also back to being clang-tidy clean. 2017-07-27 23:59:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bd74371168
Formalised the hook API properly. 2017-07-24 02:07:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
832e98a684
Fix bug where default construction of T was not occurring when it should. 2017-07-20 12:17:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0441fe3ee5
Added a test for issue #59 (result<NonMovable> supported?) 2017-07-20 01:11:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c403a43a1b
Added success/failure type sugar to result (issue #60) 2017-07-19 19:14:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3ba908da3c
Try out the latest VS2017.3 beta 2017-07-13 18:14:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e7f487c3f6
Fix issue #57 (Single-header implementation doe not compile) 2017-07-13 15:35:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
837a96773a
Implement issue #56 (Consider multi-argument converting parameters rather than single argument) for outcome as well. 2017-07-11 23:05:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
39c0e7c7bd
Implement issue #56 (Consider multi-argument converting parameters rather than single argument) for result. 2017-07-11 22:04:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
47b17f27c4
Last of the v1 test suite ported over to v2. 2017-07-07 02:36:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1737b49b57
Optimised swap is implemented. 2017-07-07 00:08:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00f2c2a614
All but two of the v1 tests converted to v2 2017-07-06 21:42:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9b98e949f9
Added Andrzej's customisation point for TRY 2017-07-06 20:48:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1e5876f0fa
Turns out copy and move simply weren't implemented for non-trivial types. Fixed. 2017-07-06 02:25:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d3ab675514
Substantially improved the error_code_extended example. Hopefully fixed OS X compilation failure. Various other small fixes. 2017-07-06 01:57:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8ae74f9daa
travis 2017-07-06 01:08:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5880ba44d1
Reenable Travis per commit testing. 2017-07-05 22:01:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
15bd6f262e
Implemented hooks. Working well. Yay. 2017-07-05 18:33:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8ef842bc80
Implemented the try operations from Outcome v1. 2017-07-05 02:52:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8769b8b884
containers unit test is passing. 2017-07-05 01:14:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7c8be75127
Merged the prototype test suite into the v1 ported test suite.
constexpr unit tests are now working.
2017-07-05 01:08:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
05a0085738
Comparison unit tests are passing now. 2017-07-05 00:44:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
156a315631
Added compile-fail test support to quickcpplib, and thence a few compile fail tests. 2017-07-04 23:23:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fcfab41660
Basic unit test is now passing with Outcome v2 2017-07-04 03:35:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8b30972033
Reorged test and includes for v2 2017-06-30 20:16:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7d6625fbc8
Mostly fully ported over to quickcpplib 2017-06-14 16:09:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e8c262fa47
Fixed build failure with older clangs with LEWG Expected test suite 2017-05-20 11:34:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b507c466b2
Issue #12 basic_monad's copy assignment no longer gets instantiated when type T cannot be copied. 2017-05-20 02:15:19 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
28b3f8269e
Issue #11 Changing state should never cause an empty state if avoidable. Outcomes and Expected will now
not lose previous state during assignment or emplacement if the existing state's type has a nothrow
move or copy constructor. It does this by moving the existing state onto the stack before trying to
set the new state, and if that throws it restores the previous state. This new code path only activates
if any of the types stored have throwing move constructors.
2017-05-20 02:11:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0c73108cf6
Issue #20 Rename:
- `monad_error` to `bad_outcome`
  - `monad_errc` to `bad_outcome_errc`
  - `monad_category` to `bad_outcome_category`
  - `BOOST_OUTCOME_THROW_MONAD_ERROR` to `BOOST_OUTCOME_THROW_BAD_OUTCOME`
 Thanks to Peter Dimov, Andrzej Krzemienski and Paul Bristow for suggesting this.
2017-05-19 00:47:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dbcde5de08
Issue #14 Removed all the static asserts in the Expected implementation apart from the nothrow
move constructor check, which is now correct unlike the incorrect assert from before. Thanks to
Vicente J. Botet Escriba for explaining Expected's semantics.
2017-05-14 01:28:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bc3c0bbfeb
Issue #15 Move outcome::expected<T, E> into outcome::experimental::expected<T, E>. Thanks to
Vicente J. Botet Escriba for persuading me to do this.

unittests.cpp had become clang-tidy unclean, fixed.
2017-05-14 00:57:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1b59eff4a1
Set opcode limits for all the major compilers, and patched into travis. Closes issue #13. 2017-05-14 00:30:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2b8c42cef0
Got new opcode counting script working with MSVC and winclang (issue #13) 2017-05-14 00:09:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
34822e1d63
First step in implementing issue #13, merged Tom's fixed script into Outcome and fixed a load of bugs in it. It generates far better results than before. Next step will be to get it working on MSVC. 2017-05-13 01:31:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9274c0d423
Fix issue #10 Expected's operator->(), operator*() and .error() throw exceptions when they should not 2017-05-10 20:35:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
202fba16fb
Converted enable_single_byte_value_storage to be a template variable.
Replaced the global BOOST_OUTCOME_ALLOW_THROWING_MOVE_TYPES macro disable with per type disable via enable_move_throwing_type<T>.

Fix an ambiguous resolution of make_expected_from_error.
2017-05-09 13:03:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
665323b7f6
Add static checks for using a value_type, error_type or exception_type which throws during move 2017-05-07 23:50:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
48864a7c88
Relicenced all code to be dual Apache 2.0 or Boost licence 2017-05-03 00:46:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2a82d14fb2
Have an attempt at a BOOST_OUTCOME_TRYX(expr) expression behaving try operation, implementing issue #9. 2017-04-18 10:48:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
953e3a062c
Fix build failure on GCC 5 2017-04-12 11:36:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0dc8cc8216
Add a note to the docs for make_errored_*(ErrCondEnum). 2017-04-09 14:54:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad136750f6
Add make_errored_*() overloads for error conditions 2017-04-08 11:01:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0b332aea8a
Fix overstrict valueless constructor 2017-04-06 14:14:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb349111da
Stupid typo 2017-04-06 11:16:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
430d9c10dc
wip for issue #7 2017-04-06 09:49:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1772bbfbc8
Clarify empty braced init semantics 2017-04-04 21:54:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dea2c55e07
Rename all make_ready_* to make_valued_*. Thanks to Andrzej Krzemienski for spotting the problem. 2017-03-30 12:53:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f291beed5f
Upgraded the MSVC workarounds to understand VS2017 RTM.
Fixed all breakage and warnings in all examples etc for VS2017 RTM.
2017-03-20 23:51:29 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e3bc60d429
Resurrected my old very custom clang format plugin for visual studio, forced it into vs2017 against its will and did a clang-format pass on all the source files. 2017-03-14 19:51:23 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d903e1f174
Fixed a bug where a less representative void transport was not implicitly converting into a more representative transport. 2017-03-01 16:40:14 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2e727393e0
Broke monad.hpp into separate include files, did a fair bit of purging legacy and unused code whilst I was at it. 2017-02-03 11:02:02 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
71efed5698
Fix broken code bloat tests 2017-02-02 19:37:29 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dabe866b17
Put the GCC test disable in the wrong location :) 2017-01-22 17:06:44 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e0286392cf
Work around libstdc++'s broken std::string move assignment implementation 2017-01-22 16:36:10 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7314cd743f
Restore clang 3.5 to working with the MSVC workarounds 2017-01-22 02:00:39 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
42ee0cd0a0
Rolled back the templatisation of basic_monad's constructors and operators 2017-01-21 15:04:50 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b917d0ee13
Restored single byte storage packing support.
Now passes both Outcome and Expected test suites, though we are seeing memory corruption in the swap() implementation (TODO).
2017-01-20 18:18:23 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c4e545ffed
Substantially reworked how the constexpr variant storage is implemented. Compiling on all platforms, though failing its unit tests quite badly. 2017-01-20 16:43:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ebed2b62bb
Added the reference Expected implementation's unit test suite, adjusted only to match the current WG21 proposal text. 2017-01-19 15:43:25 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
67b19a06a0
Rejig BOOST_OUTCOME_ENABLE_OPERATORS into BOOST_OUTCOME_ENABLE_ADVANCED 2017-01-11 12:09:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ba74a697eb
Disable debug info generation for the clang 3.5 compile, it bombs out :( 2017-01-07 12:42:38 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
30065d70ea
VS2017's C++ 14 constexpr is actually really good and finally let me dispense with the BOOST_OUTCOME_CONVINCE_MSVC forceinline hack. 2017-01-06 08:27:37 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
68b52bd9f3
Worked around the new ICE in VS2017 RC 1 2017-01-03 08:35:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com
950eeac84f
Fix various build failures when compiling with Xcode 8 2016-12-31 01:23:04 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f78ec744d1
Finished tutorial copy edit 2016-11-11 14:38:22 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ef2eb6a97b
Fixed bad unit test which always fails 2016-11-07 18:59:37 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2af6ab6f52
Added operators * and -> plus error() and exception() and inplace_t implicit construction to much more closely match Expected and Optional.
Replaced the BOOST_OUTCOME_FILTER_xxx macros with a new, much more simple BOOST_OUTCOME_TRY()
2016-11-07 18:01:51 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8a4f35b14b
Added a .clang-tidy config, and delinted the unit tests. Interestingly no lint found in the headers at all which was a surprise. 2016-10-30 01:41:57 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f35c849adc
Made a start on proper documentation for Outcome. 2016-10-29 19:17:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2f160eec4
Full unit test suite now passing on GCC 6.2 with exceptions disabled. 2016-10-28 23:31:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0757aa9766
Make entire outcome unit test suite now run with RTTI and exceptions disabled using the new boost-lite very lightweight Boost.Test emulation (it worked first time, I am very proud).
Split out all the throws of exceptions into individual macros so each can be customised.

When exceptions are disabled and outcome is about to throw, dump a stacktrace just before terminating the process.
2016-10-28 17:51:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ccafdb74a8
Move Outcome to using new boost-lite very lightweight unit test framework 2016-10-28 14:38:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
03272598be
Outcome now works well with C++ exceptions and RTTI disabled. It actually always did, but now there is a unit test and its documentation says it works. 2016-10-08 00:47:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
553fb67352
Travis and Appveyor fixes 2016-07-19 17:06:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
69f2aec785
Moved Outcome over to fully use the new boost-lite cmake infrastructure, adding per-commit namespace permutation, C++ Modules support, embedded or sibling pickup of the boost-lite dependency. 2016-07-19 08:40:12 +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)
118b549801
Replace WIN32 with _WIN32 2016-07-09 14:44:41 +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)
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)
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)
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)
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)
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)
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)
2ffa7a84c7
travis 2016-06-23 13:45:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
403e1291c4
Broke travis :) 2016-06-23 09:39: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)
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)
0ae2a51b1f
Merge branch 'master' of github.com:ned14/boost.spinlock 2016-06-22 07:47:01 +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 (s [underscore] sourceforge {at} nedprod [dot] com)
c5e832c3ee
travis 2016-06-21 16:55:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
591e6ace44
travis 2016-06-21 16:23:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e592db760b
travis 2016-06-21 14:48:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4f4fe42313
travis 2016-06-21 14:35:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c6528dc757
Added winclang processing, and indeed made it the default for testing constexpr on Windows as MSVC suffers from generating too much code bloat. 2016-06-21 11:16:40 +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)
64e92c3308
upd 2016-06-20 01:49:22 +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)
7e835fcdae
Reworked to fit latest boost-lite 2016-06-03 17:32:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a045419a9
Add some more static assertions to the unit test suite. 2016-06-03 09:09:31 +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)
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)
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)
6d1c714d99
Disable unit testing the future implementation for now. 2016-04-20 17:33:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4b5c5d164b
Fixed failing unit tests. 2016-04-20 17:17:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
27ae32b3f4 Fix for small unit test build breakage. 2016-01-27 10:22:59 +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)
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)
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)
145f12b537 Restore coverage testing 2015-09-08 14:04:22 +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)
9d7f2bfc26 More outcome rename caused fixes. 2015-08-29 19:11:51 +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)
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)
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)
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)
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