| 2372 | #if defined BOOST_NO_CXX11_RVALUE_REFERENCES |
| 2373 | template <class TR> |
| 2374 | typename boost::enable_if_c<is_copy_constructible<TR>::value && is_same<R, TR>::value, void>::type |
| 2375 | set_value(TR const & r) |
| 2376 | { |
| 2377 | lazy_init(); |
| 2378 | boost::unique_lock<boost::mutex> lock(future_->mutex); |
| 2379 | if(future_->done) |
| 2380 | { |
| 2381 | boost::throw_exception(promise_already_satisfied()); |
| 2382 | } |
| 2383 | future_->mark_finished_with_result_internal(r, lock); |
| 2384 | } |
| 2385 | #else |
| 2386 | void set_value(source_reference_type r) |
| 2387 | { |
nothing calls this directly
no test coverage detected