Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
120a8cda34
Fixed broken C++ 11 support.
2015-07-04 03:08:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4fecca10b6
try again with clang.
2015-07-04 01:51:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0dde08e428
Fix clang problems.
2015-07-03 18:05:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
207143f1eb
Try disabling gcc 4.8
2015-07-03 17:56:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dad2b2cef5
try again
2015-07-03 17:51:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b7ea196017
Hopefully clang will be happy now.
2015-07-03 17:45:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aca45c537d
Small clang fix.
2015-07-03 17:12:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d64f4c20c5
First working future continuations. Lots more testing to be added later, but this actually seems to work.
2015-07-03 17:09:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ab25936fb
Added future.then(), but it is not compiling.
2015-07-03 14:34:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1153088b6a
- [x] Refactor the tribool logic mapping such that empty => unknown.
2015-07-03 11:26:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
840f3470da
monad.next() now has build time optimised do_next implemented, and therefore is now available without BOOST_SPINLOCK_MONAD_ENABLE_OPERATORS.
2015-07-02 13:13:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6803e9d8ba
Added missing typenames.
2015-07-02 03:51:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a31d67b258
Added ability to store an optional std::function continuation which is called when the state is set by promise.
2015-07-02 03:49:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43b2b7df49
Added test of make_ready_XXX.
2015-07-02 02:59:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1a689653b8
Fixed GCC and clang breakage.
2015-07-02 01:34:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3d331df79a
Broke monad into own doxygen group.
2015-07-02 01:25:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1f361f9bb6
Improved docs for future promise substantially.
2015-07-01 15:24:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
975bcde6b6
Fixed two standard conformance failures.
...
Updated benchmarks for VS2015.
Added unit testing for alignment and size multiple of promise future.
2015-07-01 13:54:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2c719ac954
Updated todo list.
2015-07-01 12:43:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
46fa713841
Made optional the future constexpr folding.
2015-07-01 04:30:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2cfbd8cc54
Added future_option, future_result plus tests for them.
2015-07-01 03:17:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
68847ff62f
Put back forceinline on MSVC
2015-07-01 01:36:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ac7f60959d
Improve future docs.
...
Try pragma inline depth on MSVC just to see what happens.
2015-07-01 01:13:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f680c76236
- [x] Implement shared_future_ptr which thunks a shared_future API through a shared_ptr to
...
basic_future<shared_future_policy>.
2015-06-30 14:45:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8a491994a6
Fixes for GCC 4.8
2015-06-30 13:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2d55d44998
Hopefully now fully passing on all platforms.
2015-06-30 12:42:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
863853fa99
Fixed rebind_cast and added conformance test for it.
2015-06-30 12:20:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bcd2e99bc0
- [x] Implement shared_future_policy and a conformance suite for shared_future.
2015-06-30 04:00:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
046860e78b
- [x] Return monad_errc::exception_present error code for when get_error() sees an excepted state.
2015-06-30 01:55:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a8313adbc
- [x] Add iostream overloads for basic_monad
2015-06-30 01:32:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad994b7868
Now thread sanitiser and valgrind drd problem free and totally green across the board.
2015-06-29 15:09:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fcb5e645b7
Fixed bug in spinlock where is_lockable_locked was taking slow path.
...
Fixed compile errors on MSVC.
2015-06-29 13:26:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1c3ae2592
Added unit test for testing performance of lightweight future promise
2015-06-29 04:22:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97ac5bc4c8
- [x] Have future-promise conformance suite also run for std::future.
...
Fixed a number of conformance failures illustrated by the above.
2015-06-29 01:31:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
23a0906ec0
Added some benchmarks for future-promise.
2015-06-28 03:47:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
597a603af2
VS2015 *actually* spotted bad C++ that neither clang nor GCC did. I am astonished!
2015-06-27 02:46:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0da3919fea
All unit tests passing again
2015-06-27 02:38:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
278749235e
Lots of work on getting next gen promise-future into shape. Compiles but fails its unit tests quite badly.
2015-06-26 17:52:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d228607e43
Fixed missing option min result.
2015-06-26 04:18:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
44a89e0533
Try getting constexpr msvc test to use finished executables.
2015-06-26 03:49:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
964ce2d756
Added constexpr testing for result<T>, option<T>.
2015-06-25 16:20:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c39c2d61d5
Fixed up docs
2015-06-25 14:53:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
657fac5d37
Added &, | and >> operators.
2015-06-25 14:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bb24f6aa27
- [x] Add match() function which visits a callable on the contents.
2015-06-25 13:50:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ca766c4894
- [x] If monad type is a callable, let the monad be callable.
...
- [x] Rename .then() to .next().
2015-06-25 10:56:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fee843dd2e
Fixed option<bool> being silly large, and added unit testing to ensure it remains so.
2015-06-25 03:24:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
58b807469a
Finished porting code over to new policy based design.
2015-06-25 02:37:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6494320bd
Reenable unwrap()
2015-06-24 14:54:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bdf09d6e01
Still need to restore unwrap(), then(), bind() and map() but ...
...
- [x] In addition to value_or(), error_or() etc add value_and(), error_and() etc.
- [x] Expose detail::value_storage such that it can be specialised for optimal space e.g. for bool.
- [x] Add null_exception_ptr, null_error_code.
- [x] Make how error_type is converted into exception_type configurable.
- [x] Add monad<void>.
- [x] Add template aliases for different configurations of monad<T> (one of maybe, result, holder, value, retval, potential, likely). Add two additional aliases, one for a monad without exception_ptr, and another for a monad with neither error_code nor exception_ptr (option<T>?).
2015-06-24 14:36:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
497ecc7757
Minor docs fix
2015-06-23 15:10:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
36586c6555
Make tribool nature of monad very explicit with an actual tribool.
2015-06-23 14:23:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1bdef95a0f
Add tribool
2015-06-23 14:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fd786656bf
Fixed bugs mentioned in boost-dev review. Added task list.
2015-06-22 01:08:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4987f60e29
Fixed missing EOL for complexity guarantees
2015-06-19 17:48:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6108ee3d06
Fixed missing bind example in docs.
2015-06-19 17:45:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a65330a1c
Now ready for Boost review.
2015-06-19 17:35:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6f45787900
Added monad example for boost-dev review, unfortunately it fails to compile :)
2015-06-19 14:59:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6f632d061e
Added opcodes for then() and bind()
2015-06-19 02:35:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b3b4f95ee4
Added max and min constexpr tests for then and bind
2015-06-19 02:11:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
06fd8b0b8c
upd
2015-06-17 14:04:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9e6020714d
Disable tests for VS2015 where the compiler is clearly suffering memory corruption internally.
2015-06-16 17:57:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
35a6ab7732
Try throwing ~monad fix on CI.
2015-06-16 17:40:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d1a435eef
map() and bind() fully working and passing all tests. Finally.
2015-06-16 17:33:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d241ff17f
bind() is nearly working. Currently it fails to detect an auto lambda which returns a monad, a problem I shall have to ponder how to solve as it isn't entirely straightforward.
2015-06-16 04:23:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
921dcb101d
wip
2015-06-15 19:00:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fed48c3573
Forgot to update function_argument_form.
2015-06-15 11:31:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
45dbfb9a07
updated to match stackoverflow reduced example.
2015-06-15 11:25:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8f58896bac
minor tidy
2015-06-15 04:43:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01d0b3150d
Figured out the problem. Now working very well indeed. Next step tomorrow is to add the detection of callables taking not value_type, and in theory we are then feature complete.
2015-06-15 04:36:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0b2e91fe6e
Added in rvalue detection traits. Working now, except that I am stuck on how to best detect when an implicit conversion is being done when calling the callable.
2015-06-15 04:23:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ee7e43d1ba
Merge branch 'master' of github.com:ned14/boost.spinlock
2015-06-15 03:25:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97e517a68f
Added acknowledgement of clever map and bind source.
2015-06-15 03:25:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e184a75e83
Fixed clang breakage
2015-06-13 17:56:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cfa36eec9a
Wrote docs for monadic operators. Now just need to finish implementing them!
2015-06-13 02:03:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3dffba1beb
then(), bind() and map() all now working perfectly except that automatic move semantics isn't. Asked stackoverflow on that one.
2015-06-12 12:59:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f6ec99c0a1
Added then() and bind() monadic operations.
2015-06-12 04:08:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0c8d3347ab
Workaround GCC failure
2015-06-12 02:16:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5b35f714a2
More minor warnings.
2015-06-12 01:59:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1c9c063b83
Remove clang warnings.
2015-06-12 01:53:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d867577ba
Add unwrap().
2015-06-12 01:34:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cbdd0b0af5
docs
2015-06-12 00:25:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
64d3b72dd9
docs.
2015-06-11 23:23:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
089ee51b51
try again
2015-06-11 14:43:40 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dbd850034a
Added complexity guarantees.
2015-06-11 14:39:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a5114cc144
Work around a noexcept weirdness in libstdc++
2015-06-11 13:34:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6789930fee
Fix POSIX build breakage
2015-06-11 13:26:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
62bdae1f34
Relocate <future> include.
2015-06-11 10:16:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9e6f70253c
Fixed snippets
2015-06-11 04:05:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a2b65715c
Use doxygen snippets
2015-06-11 04:01:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e0743bf719
More minor docs fixes.
2015-06-11 03:27:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f538c990a3
Missing header fix
2015-06-11 03:20:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43ff504d66
Added test of monad as an optional.
2015-06-11 03:11:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86060e14d8
Added test that swap() works.
2015-06-11 02:45:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00c341d218
Added test for whether monad can hold a STL container and itself be inside a STL container.
2015-06-11 02:33:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
297c7013d1
Added noexcept and weird udt unit tests.
2015-06-11 02:19:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a75a10531d
More docs updates
2015-06-11 00:59:25 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
330c9cc5ba
More doc fixes
2015-06-11 00:46:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e2c4b22baf
docs update
2015-06-11 00:18:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
627ab95a15
typo
2015-06-10 15:05:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8d1d58e6bb
Increase opcount counter loop timeout to 1000
2015-06-10 14:57:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7dcab1dd0
monad, promise and future all now take their error and exception types as template parameters.
...
monad now throws monad_error with monad_category by default.
2015-06-07 03:13:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e1ff73f72c
Split future.hpp into monad.hpp
2015-06-07 00:32:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1241e2c500
Disabled another failing test on gcc/clang.
2015-06-05 03:26:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2f1039d851
typo
2015-06-05 03:16:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e5a5a15f92
Added unit test for monad.
2015-06-05 03:14:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d60d240bf1
Restore default monad move constructor
2015-06-05 01:37:46 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01e6a82f61
More constexpr monad tests
2015-06-05 00:45:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2243b0ceaa
Fixed excessive constexpr
2015-06-04 23:34:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6e4203bea
Fleshed out the monad class
2015-06-04 19:04:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a17c598a3
Wrote python script to parse assembler dump of lightweight future promise and construct an opcount.
...
Persuaded MSVC to constexpr fold almost all of the time.
2015-06-04 03:53:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
62c1f18278
Stamped out a few more APIs (commented out)
2015-05-27 10:48:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00a70e09ae
Fixed constexpr folding failure caused by get()
2015-05-26 00:28:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
226e081f66
Broke monad out from future
2015-05-25 18:54:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1e70caf8d8
Fixed bug in lack of constexpr reduction of future.
2015-05-25 04:38:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4c8566ae18
Try putting back the unrestricted union
2015-05-25 04:27:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c19899c200
more small changes
2015-05-25 04:10:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c70b8389b
Revert "Experimental replacement of promise future move constructors with intrusive variants."
...
This reverts commit 61313e3b30
.
2015-05-25 03:54:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61313e3b30
Experimental replacement of promise future move constructors with intrusive variants.
2015-05-25 03:51:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3da8d3bb2a
Small fixes.
2015-05-25 03:08:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2fdd81e75e
Added constexpr folding for future, and future from promise.
2015-05-25 02:51:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b8468a730d
Yay got it constexpr reducing on gcc yay!
2015-05-24 03:09:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bd0b230ac7
Got lightweight future-promise working on VS2015. Still no joy on the constexpr reduction :(
2015-05-24 02:56:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
72045c4fe3
Added beginnings of assembler dump unit testing
2015-05-23 22:09:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
12a534d886
Added first edition of lightweight future-promise.
2015-05-23 21:27:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ab682dff70
Fixed a failure to unlock buckets on failure to allocate new buckets in rehash. Thanks to Mikhail for reporting this.
2015-04-02 01:57:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8e09d8ae51
upd
2015-03-26 18:30:00 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c4a2903a88
upd
2015-03-26 18:22:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3b992806e8
Add atomic fences after every modification of std::vector holding bucket items. Almost certainly unnecessary, but no harm to have these.
2015-03-09 19:09:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0a27daf4e1
Try to see if I can see the cause of the suppressed _rehash() race reported by tsan.
2015-03-07 21:06:35 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
47f2064952
upd
2015-03-06 01:37:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7305f31c86
upd
2015-02-26 03:03:27 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9a4646421a
Removed the dependency on Expected, and the expected_future as no longer needed.
2015-01-28 17:50:21 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c99466bc83
upd
2015-01-17 03:10:44 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
98be366538
upd
2015-01-12 20:11:36 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b840973f7a
upd
2015-01-11 00:43:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b367ace54f
upd
2015-01-10 21:31:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
10e68631e6
ups
2015-01-05 16:23:37 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a88582f28
Workaround too good iterator checking under MSVC.
2015-01-03 18:10:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b00b283ea3
Added unit testing for tristate and pointer spinlocks.
2014-12-12 20:58:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b0e726af60
Don't pad buckets.
2014-12-12 00:56:09 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cf64f92943
upd
2014-12-11 23:58:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2ecbdfcca
Replaced CATCH with BindLib unit testing.
2014-12-11 22:21:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
051875b795
Fixed build failures. Added a FNV-1a hash implementation.
2014-12-11 21:28:17 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e5cc742ea5
Added a spinlock template parameter to concurrent_unordered_map.
...
Disabled noexcept destructor as it was ICEing GCC.
2014-12-10 20:34:24 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
67df71f099
concurrent_unordered_map::iterator operators != and == were broken.
...
Added concurrent_unordered_map::visit().
2014-12-09 19:41:10 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
99d17f1ee8
Fixes for mingw32
2014-12-07 01:51:50 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6cebcb7314
Disable constexpr on clang < 3.3
2014-12-06 19:00:41 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6b8e0c7cde
Apparently Boost doesn't define is_nothrow_destructible. Oh well.
2014-12-06 18:15:42 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a78136cbaa
Added missing include.
2014-12-06 18:12:25 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b71585e30e
Try again GCC 4.7 fix.
2014-12-06 18:06:06 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7cb221fc44
More workaround for GCC 4.7
2014-12-06 18:02:51 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c73529c92
Fix for libstdc++ 4.7
2014-12-06 17:50:05 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
10673d10c3
upd
2014-12-06 17:31:01 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0c5b52957d
upd
2014-12-06 16:37:41 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2dfceea3cd
Revert "Try skipping precheck on ARM"
...
This reverts commit 98d8a8715f
.
2014-12-04 14:18:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
98d8a8715f
Try skipping precheck on ARM
2014-12-04 14:04:29 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00fcaf54c3
Only use XCHG instead of CMPXCHG on Intel only.
2014-12-04 13:40:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dff8efe464
Replaced consume precheck with relaxed precheck.
2014-12-04 13:10:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
79e9d0ac47
Added a BOOST_SPINLOCK_USE_VOLATILE_READ_FOR_AVOIDING_CMPXCHG macro.
2014-12-03 23:24:56 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aa4999fc6e
Replace atomic acquire with volatile read on MSVC only.
2014-12-03 23:14:45 +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)
dca8edd5c8
refresh bindlib
2014-11-10 19:39:02 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84c6a0adf9
Fixed missing inline.
2014-11-07 23:28:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0f00886f4c
Made standalone selectable.
2014-11-04 11:07:33 +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)
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)
a564d0a2cd
Wip
2014-10-14 19:50:11 +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)
fb1d61a38f
Relaxed memory ordering on speculative count read/write
2014-10-11 20:49:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
56a6e49ca9
Finished marking up concurrent_unordered_map with noexcept
2014-10-11 17:48:14 +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