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
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)
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)
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)
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)
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)
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)
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)
6c852498f6
Fixed failing constexpr tests.
2015-07-02 13:39:45 +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)
43b2b7df49
Added test of make_ready_XXX.
2015-07-02 02:59:27 +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)
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)
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)
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)
b031a4e3db
Updated for MSVC.
2015-06-26 04:10:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
44a89e0533
Try getting constexpr msvc test to use finished executables.
2015-06-26 03:49:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a1799b7082
Disable renamed constexpr test
2015-06-25 16:55:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
321c35a7f3
Fix parse failure in count_opcodes.py
2015-06-25 16:50:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b94b1f6aeb
Redisable renamed test.
2015-06-25 16:29:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2e430e3ff2
Forgot to enable monadic operators for MSVC constexpr
2015-06-25 16:24:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
964ce2d756
Added constexpr testing for result<T>, option<T>.
2015-06-25 16:20:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
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)
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
71a6954ade
Add definitive assembler for all remaining tests.
2015-06-19 02:18:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b3b4f95ee4
Added max and min constexpr tests for then and bind
2015-06-19 02:11:32 +01:00
Niall Douglas
d9f858384f
min_monad_then for clang and gcc.
2015-06-19 01:35:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ddd2dcbdd
Add min_monad_then constexpr test.
2015-06-19 01:26:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c57472adbc
try again
2015-06-16 18:04:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
388cab042d
Disable failing constexpr test in VS2015.
2015-06-16 18:01:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9e6020714d
Disable tests for VS2015 where the compiler is clearly suffering memory corruption internally.
2015-06-16 17:57:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
853b5fb128
Have withmsvc generate single and multithreaded test executables
2015-06-16 17:51:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
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)
a655ca7f7d
more tidy
2015-06-15 04:44:27 +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)
6a653f3d1f
Broke coverage.
2015-06-13 18:03:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af81789eb2
Disabled failing tests for now.
2015-06-13 18:01:24 +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)
995293467c
More clang warnings.
2015-06-12 01:55:28 +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)
dbd850034a
Added complexity guarantees.
2015-06-11 14:39:48 +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)
943c26da03
upd msvc.
2015-06-11 13:14:54 +01:00
Niall Douglas
37c7361a70
Regen for gcc and clang
2015-06-11 10:35:13 +01:00
Niall Douglas
ca34db3e7f
Rename all constexpr tests to min_*
2015-06-11 10:25:03 +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)
84c058b1c8
Fixed broken vcproj file
2015-06-11 03:35:20 +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)
330c9cc5ba
More doc fixes
2015-06-11 00:46:48 +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)
944139beca
Bad logic for detecting failing gcc test.
2015-06-10 12:58:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
11c6377810
count_opcodes.py now works using offsets instead of names for call inlining.
2015-06-10 12:51:38 +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)
f14ece6b4b
Actually change limit instead
2015-06-05 03:30:03 +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)
e5a5a15f92
Added unit test for monad.
2015-06-05 03:14:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
208cdd85b3
Stop count_opcodes.py from counting anything but test1()
2015-06-05 01:11:30 +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)
a599913419
Fix bad paths being sent to coveralls
2015-06-04 17:19:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
697b35a408
Marked known failing tests with skipped.
2015-06-04 15:15:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61ab65e89f
Fix bad xml
2015-06-04 14:20:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61cf82ecd1
fix bad coveralls path
2015-06-04 13:13:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aea34e9e95
tsan suppress spurious openmp
2015-06-04 13:09:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
be4cc1f07b
Thread sanitiser was disabled :(
2015-06-04 13:02:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c1c449410
Accidentally disabled building coverage binary
2015-06-04 12:56:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cd8c45c08f
Stop CATCH being counted in the coverage
2015-06-04 12:51:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
141dfb050d
Disable clang junit output as clang fails across the board currently.
2015-06-04 12:45:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ce16e92af
Disabled concurrent_unordered_map completely so I can concentrate on lightweight futures.
2015-06-04 12:43:19 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
330f5ea798
Get constexpr juint xml to use CDATA
2015-06-04 12:32:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a65af971d
Disable concurrent_unordered_map tests.
2015-06-04 12:13:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
eb7c3b8060
MSVC scripts now also output junit XML
2015-06-04 11:59:11 +01:00
Niall Douglas
2f3203b0ef
Opcode counting scripts now work on POSIX, and output JUnit XML.
2015-06-04 11:06:52 +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)
d693beb9fe
Add gitattributes
2015-06-04 01:14:47 +01:00
Niall Douglas
5294048c61
Might as well add the clang assembler outputs too for bug reporting.
2015-05-26 00:30:50 +01:00
Niall Douglas
39a9334e55
Yay constexpr folding works!
2015-05-26 00:29:06 +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)
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)
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)
22e1fd15bd
Revert "Use clang for the thread sanitiser, see what happens."
...
This reverts commit 3a27694925
.
2015-03-07 01:46:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3a27694925
Use clang for the thread sanitiser, see what happens.
2015-03-06 05:30:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f2bc84768a
Make compiler used for build selectable.
2015-03-06 01:08:16 +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)
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)
a959792674
unordered map performance testing now uses identical hash on all platforms.
2014-12-11 22:24:07 +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
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a0e25e9729
Got it compiling under VS2013 again.
2014-12-03 23:04:26 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9700ccdf5c
Now working with improved BindLib.
2014-11-20 18:40:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
991c79c627
Missed one in former commit
2014-10-30 18:25:47 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
83e7f521bb
Stopped spinlock's valgrind use conflicting with anyone else's.
...
Fixed broken tsan suppression.
2014-10-30 18:21:36 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cdd6965925
Fixed bad standalone bindlib include path
2014-10-30 17:43:38 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e1287e567c
Relocated bindlib and expected into includes
2014-10-29 20:05:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6f57b937c2
Reorged to match Boost library directory conventions.
...
concurrent_unordered_map now has its own header.
2014-10-29 19:51:30 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bfdb5f79b3
Added a shared_future implementation. I still need to invert the Continuations... relationship between future and promise, and promise needs to not care about whether the future consumes or not.
2014-10-16 19:33:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d0f4a5f828
First working expected-based future promise implementation.
2014-10-15 20:37:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f5f1d9148a
Wip expected future promise
2014-10-13 20:06:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b1450545a2
Ended up suppressing the tsan warnings about unsynchronised use of bucket.count as it's only a speculative early out of doing a lock acquire, so it has relaxed ordering. This optimisation adds about 7% to benchmarks, so is probably worth it.
2014-10-11 21:39:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
74d9c55b03
Fixed bug where std: 🧵 :hardware_concurrency doesn't work on ARM.
2014-10-11 20:20:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bbbb0c6bc3
Build script no longer builds everything unless asked
2014-10-11 19:32:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
75dc814006
Fixed bad Doxyfile
...
Made a start on noexcept markup
2014-10-11 17:37:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
710974c9d3
Fixed up renaming to work.
2014-10-11 17:11:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d44d6d8b5c
Moved everything into Boost library directory org
2014-10-11 16:56:49 +01:00