2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-19 02:12:24 +00:00
Commit Graph

580 Commits

Author SHA1 Message Date
Oliver Kowalke
1be0789aec use fast_pool_allocator for channels 2016-02-27 20:07:55 +01:00
Oliver Kowalke
a48c0eb491 fix include of headers 2016-02-27 20:07:06 +01:00
Oliver Kowalke
2509553074 move returned reference in future<R>::get() 2016-02-16 09:42:06 +01:00
Nat Goodspeed
8376fda3ba Merge branch 'develop' of github.com:olk/boost-fiber into develop 2016-02-15 19:34:04 -05:00
Oliver Kowalke
e43cf5b1ac enum for context types 2016-02-15 19:49:22 +01:00
Nat Goodspeed
eb0d01bd28 Merge branch 'develop' of github.com:olk/boost-fiber into develop 2016-02-12 10:23:57 -05:00
Oliver Kowalke
547e19a811 adapt to template execution_context (v2) 2016-02-09 17:15:36 +01:00
Nat Goodspeed
3b9e9a3a56 Snapshot of documentation update for 2016 review.
Note effect of BOOST_USE_SEGMENTED_STACKS if StackAllocator is not explicitly
passed.

Introduce function_heading_for QuickBook template to allow separate
descriptions of swap(fiber), swap(packaged_task) and swap(promise).

Document async() using C++14 std::result_of_t and std::decay_t, aligning with
std::async() documentation.

Rework when_any / when_all examples to use unbounded_channel throughout, since
we always close() the channel after the first value anyway. bounded_channel
doesn't really add much value here.

Make wait_first_outcome_impl() infer its channel pointer type. That way we can
reuse that function instead of coding a separate wait_all_until_error_impl(),
which differs only in using the nchannel facade instead of directly pushing to
unbounded_channel.

Explain use of std::bind() to bind a lambda.

Use a more nuanced discussion of promise lifetime in write_ec() example
function.

Use condition_variable::wait(lock, predicate) in a couple places in
work_sharing.cpp example.
2016-02-06 23:17:04 -05:00
Oliver Kowalke
778656934f captured_context renamed to execution_context (v2)
- execution_context (v2) is enabled per default
- execution_context (v1) is used for segmented stacks
2016-02-06 13:34:10 +01:00
Oliver Kowalke
12555f9561 execution_context required for segmented stacks 2016-02-06 10:21:54 +01:00
Oliver Kowalke
7e183329ee use captured_context aonly 2016-02-05 18:14:38 +01:00
Oliver Kowalke
ea1003b48a cast function + arguments to rvalues before apply() 2016-02-03 16:55:44 +01:00
Oliver Kowalke
81ac20b3dc remove autoreset_event 2016-01-24 16:12:44 +01:00
Oliver Kowalke
c3e54f5dcf remove noexcept from fiber_specific_ptr ctor 2015-12-29 14:48:36 +01:00
Oliver Kowalke
6f5d2b5376 nvalid_argument and fiber_resource_error rremoved 2015-12-29 14:17:03 +01:00
Oliver Kowalke
24fa47a1f0 remove noexcept from mutex/timed_mutex try_lock() 2015-12-29 11:57:25 +01:00
Oliver Kowalke
4c05ff494d remove noexcept from timed wait-ops for mutex classes 2015-12-29 11:30:30 +01:00
Oliver Kowalke
70e1d2af0b releasing fss might throw
- cleanup fucntion of fss might throw
-> remove noexcept specifier
2015-12-27 17:29:26 +01:00
Oliver Kowalke
4c95c148fc make future ctor private
- ctor creating future from future_base should be private
2015-12-27 15:13:58 +01:00
Oliver Kowalke
ed38759508 remove noexcept from new_properties() 2015-12-27 14:21:47 +01:00
Oliver Kowalke
ba49a575ce remove noexcept from channel::try_pop()
- move-op might throw
2015-12-27 14:20:46 +01:00
Oliver Kowalke
811347bce0 define own future_status 2015-12-27 14:20:26 +01:00
Oliver Kowalke
056a681459 fix fiber-exceptions 2015-12-26 19:52:21 +01:00
Oliver Kowalke
f4925c6b08 add noexcept tp try_lock_for()/try_lock_until() 2015-12-26 18:13:50 +01:00
Oliver Kowalke
8413230c04 public properties() might throw -> remove noexcept 2015-12-25 20:32:10 +01:00
Oliver Kowalke
80b281ea34 remove fiber::operator bool() 2015-12-25 20:30:03 +01:00
Oliver Kowalke
e72e4b60e1 declare own cv_status instead using std::cv_status 2015-12-21 17:21:08 +01:00
Oliver Kowalke
e39216055c specify only first item in future_errc enum 2015-12-21 17:20:38 +01:00
Oliver Kowalke
d316cf7afe rename status enum of spinlock 2015-12-21 17:20:04 +01:00
Oliver Kowalke
8ef55049c6 add precondition - lock owned - for shared_state 2015-12-21 16:57:45 +01:00
Oliver Kowalke
a964633c63 use condition-variable::wait() with predicate in channel 2015-12-21 16:44:37 +01:00
Oliver Kowalke
9baa265d33 comp. operator for class context 2015-12-21 16:44:24 +01:00
Oliver Kowalke
fe45bfd338 fix signature of packaged_task in async() 2015-12-18 21:09:03 +01:00
Oliver Kowalke
bb1e410c87 remove decay-copying of arguments for packaged_task 2015-12-18 21:08:34 +01:00
Oliver Kowalke
fcdbe3bc66 e own implementation of future_errc and related 2015-12-18 20:38:23 +01:00
Oliver Kowalke
3a2e68b4b5 make a local copy of allocator in destroy_() 2015-12-18 18:26:52 +01:00
Oliver Kowalke
b7944e583f re-factoring/formating 2015-12-18 18:25:35 +01:00
Oliver Kowalke
117384d839 implement condition_variable in terms of condition_variable_any 2015-12-18 07:38:42 +01:00
Oliver Kowalke
550aed7c37 apply noexcept to less-op. for fiber 2015-12-17 21:34:19 +01:00
Oliver Kowalke
ec1911e603 apply noexcept to free-fucntion swap() 2015-12-17 21:32:56 +01:00
Oliver Kowalke
b3841332a9 replace std::bind() by wrap() for C++11 2015-12-17 20:11:27 +01:00
Oliver Kowalke
fe9a8cc7e1 task_object ctor accept lvalue 2015-12-17 20:07:42 +01:00
Oliver Kowalke
eddd1e7309 remove redundant asign of false to obtained_ in packaged_task 2015-12-17 20:06:49 +01:00
Oliver Kowalke
7d3b9aee57 include fiber's config.hpp 2015-12-17 20:06:22 +01:00
Oliver Kowalke
468e815d3a fix usage of disable_overload 2015-12-16 22:08:47 +01:00
Oliver Kowalke
710fec359c msvc-14.0 can not deal with using declaration 2015-12-16 19:33:48 +01:00
Oliver Kowalke
af9b2cef21 remove noexcept specifier in boudned_channel 2015-12-16 19:14:10 +01:00
Oliver Kowalke
7fd45063db exclude ctor with forwarding-reference from overload resolution
- prevent ctor with forwarding-resolution is used as copy-ctor
2015-12-16 16:50:04 +01:00
Oliver Kowalke
b62462241f pass execution_context via reference to std::bind()-object 2015-12-15 19:05:40 +01:00
Oliver Kowalke
073e59cf22 fix usage of result_of in async() 2015-12-15 18:52:31 +01:00