Commit Graph

576 Commits

Author SHA1 Message Date
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)
47ee7ea693
Lots more tutorial part C 2017-01-28 18:22:38 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
98522e4154
Hopefully finished tutorial part B. 2017-01-27 14:18:34 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bca11ff64c
More third attempt at tutorial 2017-01-25 13:27:10 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ef412a2a54
Get the expected example compiling. 2017-01-24 12:13:33 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
39b41d1d9b
Third time writing this blasted tutorial for Outcome. Part A at least. 2017-01-23 18:33:27 +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)
6114009b1b
Hopefully finally building clean on all of GCC, clang and MSVC now. 2017-01-22 02:17:40 +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)
296e37d664
Fix memory corruption caused by new swap() implementation. All tests passing again yay! 2017-01-21 17:46:45 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8426c22efe
Relocate emplacement implementation into .ipp file 2017-01-21 16:18:55 +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)
a0888453c1
Add an implementation of LEWG's expected<T, E> refining basic_monad. 2017-01-17 17:18:35 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e96b5b320b
Break out new policy for a LEWG expected<T> implementation. 2017-01-17 14:22:00 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
69886c5ff0
upd 2017-01-13 16:47:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a5dcf761e
Make submodules shallow cloned 2017-01-13 15:51:42 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
10c30bac35
vcpkg for boost.outcome looks to be working. Woo hoo. 2017-01-11 17:51:50 +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)
46b5fdd470
Yet more tutorial 2017-01-11 11:55:29 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4c5e8293eb
Tutorial update for today 2017-01-10 18:16:26 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1c3154bab8
Today's work on the tutorial 2017-01-09 16:24:16 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86c0ec19da
upd 2017-01-07 13:43:39 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0a665e6337
Outcome had stopped working with LLVM clang :). Now tested per commit on Travis. Had to disable GCC 6 testing until launchpad fix their broken GCC 6. 2017-01-07 12:24:48 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f09382b820
Try again fix build breakage 2017-01-06 09:39:09 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d524ab553f
Fix build breakage 2017-01-06 09:28:37 +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)
fa4f9de7ae
Turn on use of C++ 14 constexpr on VS2017. Haven't tested it yet, it may work, it may not :) 2017-01-05 17:57:04 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
db86dcb390
Replace use of all BOOST_ macros with BOOSTLITE_ macros, this prevents Outcome colliding with Boost if included before Boost. 2017-01-05 17:50:25 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5739ef9a34
Use new, clean, warning free method of poking cmake to make code with exceptions disabled. 2017-01-04 16:22:05 +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)
db3b34e765
Theoretically at midnight from now on a script will check if all unit tests on develop are passing and if so will merge develop into master and put a tarball at dedi3. We shall see if it fires tonight! 2016-12-23 16:51:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fe751faa0a
tutorial 2016-11-09 13:46:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9257a1bf8e
tutorial 2016-11-09 09:18:12 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c33ab1afe0
tutorial 2016-11-08 10:16:00 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
def15cb54d
More tutorial 2016-11-07 22:22:57 +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)
05a02dc499
tutorial 2016-11-05 00:59:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f18d40b6d6
Tutorial cleanup 2016-11-04 19:31:02 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
099a689aef
More tutorial 2016-11-04 17:51:30 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8ed4cf5385
upd 2016-11-03 11:10:17 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0cb8835c71
Disable win32 error code mapping in prep for new custom error code categories 2016-11-02 19:50:02 +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)
7db1d3368a
upd 2016-10-08 00:52:31 +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)
e95fe0eb13
upd 2016-09-21 17:26:03 -07:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bd8560354c
upd 2016-09-21 15:37:17 -07:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bbf2bbafa5
upd 2016-09-21 11:28:42 -07:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
33b8449a8d
Made Outcome C++ Modularisable 2016-09-20 11:16:06 -07:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e89ef89a0a
upd 2016-09-06 17:46:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d1a43e5e86
upd 2016-09-06 09:30:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b925ad5004
upd 2016-09-05 09:17:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
92c9863a28
upd 2016-09-04 20:13:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
857a0118f5
upd 2016-08-28 19:58:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f3a3c667b1
upd 2016-08-26 23:22:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7838f3fd5b
Fix bad pickup of sibling boost-lite. Fix spurious warnings on MSVC. 2016-08-26 20:59:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1f859b64fe
upd 2016-08-25 22:01:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a79437433
upd 2016-08-24 23:34:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9b7793111e
Workaround cmake failure in cmake 3.2 due to a bug in cmake 2016-08-24 14:45:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
96815a8e3a
upd 2016-08-23 21:34:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cc0555b91c
Fixed the VS2015 outcome debug visualisers which had become stale. 2016-08-22 21:08:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2723fb5262
Relocate valgrind instrumentation into boost-lite. 2016-08-21 21:22:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9d814df7a0
Prevent monad.set_exception(E &&) being available if monad has no exception type. 2016-08-19 20:54:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
876acd5d1d
upd 2016-08-18 20:35:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
058f256343
upd 2016-08-17 20:36:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
300de74f0e
upd 2016-08-17 11:32:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e928c35655
upd 2016-08-14 19:04:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b561f3d05f
Fixed bug where outcome<void> did not have a noexcept copy and move constructor. Moved .natvis next to its header file. 2016-08-14 16:19:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1c7feef5d4
Enable MSVC workarounds for latest MSVC 2016-08-13 18:59:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
39b9e6384b
upd 2016-08-11 10:10:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7fb9617c21
upd 2016-08-10 07:57:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
abffb1eea1
upd 2016-08-10 07:52:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b525832007
upd 2016-08-07 17:03:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
943b23722a
Updated docs 2016-08-07 17:02:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2165872a8b
Began merging the latest tooling improvements from AFIO into Outcome 2016-08-06 20:10:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
adaf1a6255
upd 2016-08-04 09:28:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
782dfbe81a
upd 2016-07-27 08:55:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
02a8730835
upd 2016-07-27 07:30:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d96e8c5af7
upd 2016-07-26 09:24:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
06e2a332f3
upd 2016-07-22 09:34:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7b24d1bb5c
upd 2016-07-21 15:09:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3fb115b3b0
upd 2016-07-20 13:41:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f724e3c296
upd 2016-07-20 09:13:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cff6e8a160
upd 2016-07-20 08:47:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0402563a9a
Now working on GCC with precompiled headers, both embedded and sibling configurations. 2016-07-19 13:38:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
db07076ec1
upd 2016-07-19 13:04:14 +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)
5e0a09d077
Merge branch 'master' of github.com:ned14/boost.spinlock 2016-07-18 09:33:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
40d724c6e8
upd 2016-07-18 09:32:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c6ed263e02
upd 2016-07-17 23:21:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2dbbf7c492
wip find_boostish_library() 2016-07-17 23:18:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b5fc6ac6ef
upd 2016-07-16 15:49:19 +01:00
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