Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8ea33262b8
Just the converting constructors for outcome v2 to go, and I think the prototype is ready to replace the v1 implementation.
2017-06-26 02:35:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dca014b2f7
Hefty reorg of v2 result<T> to try to make Standardese grok it.
2017-06-21 02:58:19 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f756bd4e30
Began mock up of post-peer-review Outcome
2017-06-15 00:31:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c3a27eda3
try again fix CI
2017-06-14 19:41:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e1d6ebef8a
More renaming
2017-06-14 16:24:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7d67fcec12
Add errata for ACCU talk
2017-05-11 16:38:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4d9e404fb0
Did another pass of the docs. Very close to peer review ready now.
2017-05-11 01:09:02 +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)
f661ee8303
Add todo items before the peer review
2017-05-10 12:02:31 +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)
6d01ab8546
Add usage from cmake to docs
2017-04-14 09:44:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ee6f2df804
Update todo list
2017-04-14 08:35:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
90b397d29a
upd
2017-04-08 23:53:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b9640b2cf2
Remove coverage badge as we haven't been calculating coverage in a long time
2017-03-30 09:35:51 +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)
8f7c9ae7e6
Use a pre-processed edition of Outcome for the most common build config.
2017-03-20 16:53:00 +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)
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)
9439f32725
Wide ranging edits to docs
2017-02-02 18:12:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7ace97f75a
Finished side by side comparison of Outcome's Expected to LEWG Expected
2017-01-24 15:12:45 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5e7e1fc9c4
Added a code example using expected<T, E>
2017-01-24 11:55:22 +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)
a94bbdfc54
Updated quick start with improved info on monadic operators
2017-01-11 13:12:23 +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)
1c3154bab8
Today's work on the tutorial
2017-01-09 16:24:16 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3c5a91a45f
Experimentally tried splitting off a section from the docs page into s separate page to see how that might work.
2017-01-06 09:24:07 +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)
12397b41f2
Update the docs with the newly fully functional clever source tarballing
2017-01-05 07:49:28 +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)
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)
3cf56d98c1
Add JSON returned by cdash for later work on a parsing script
2016-12-23 12:29:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1d4f56a693
Add develop branch CI badges to Readme.md
2016-12-23 10:26:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a845ffb8b0
upd
2016-12-07 16:00:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4856e1abf1
Add todos before I forget them
2016-11-11 22:14:06 +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)
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)
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)
12a92e59ba
More tutorial
2016-10-31 01:06:47 +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)
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)
c2c9494b21
upd
2016-10-18 19:09:09 +01:00
Niall Douglas
1658d93325
Other todos I thought of
2016-10-17 15:00:20 +01:00
Niall Douglas
2efc236293
Merge todos from the AFIO list
2016-10-17 14:53:31 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f3c8cc7559
upd
2016-08-13 18:36:04 +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)
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)
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)
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)
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)
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)
ef5848f0f9
Update todo items
2016-01-27 19:33:41 +00: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)
7e6f05ffdf
Fix bad readme badge links.
2015-08-07 03:11:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3694a2c616
Docs now live on github.
2015-08-07 03:07:47 +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)
e582acc116
upd
2015-08-03 17:41:09 +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)
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)
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)
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
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)
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)
83bbcdf864
upd
2015-07-04 04:39:03 +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)
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)
e49e78ff00
Added benchmarks for VS2015
2015-06-30 15:22:36 +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)
bcd2e99bc0
- [x] Implement shared_future_policy and a conformance suite for shared_future.
2015-06-30 04:00:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
046860e78b
- [x] Return monad_errc::exception_present error code for when get_error() sees an excepted state.
2015-06-30 01:55:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a8313adbc
- [x] Add iostream overloads for basic_monad
2015-06-30 01:32:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad994b7868
Now thread sanitiser and valgrind drd problem free and totally green across the board.
2015-06-29 15:09:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fcb5e645b7
Fixed bug in spinlock where is_lockable_locked was taking slow path.
...
Fixed compile errors on MSVC.
2015-06-29 13:26:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1c3ae2592
Added unit test for testing performance of lightweight future promise
2015-06-29 04:22:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97ac5bc4c8
- [x] Have future-promise conformance suite also run for std::future.
...
Fixed a number of conformance failures illustrated by the above.
2015-06-29 01:31:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
05fa315cba
Added VS2015 benchmarks for future promise.
2015-06-28 04:12:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
23a0906ec0
Added some benchmarks for future-promise.
2015-06-28 03:47:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
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)
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)
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)
36586c6555
Make tribool nature of monad very explicit with an actual tribool.
2015-06-23 14:23:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1bdef95a0f
Add tribool
2015-06-23 14:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4dbaad6738
More work items.
2015-06-22 01:43:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fd786656bf
Fixed bugs mentioned in boost-dev review. Added task list.
2015-06-22 01:08:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a65330a1c
Now ready for Boost review.
2015-06-19 17:35:25 +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