Lines Matching refs:R
79 template <typename R>
86 R &get() {
91 return *(static_cast<R *>(v_));
94 void set(const R &v) {
97 v_ = new R(v);
102 void set(R &&v) {
105 v_ = new R(std::move(v));
116 static void default_deleter_(void *v) { delete static_cast<R *>(v); }
121 template <typename R>
126 template <typename R>
128 using state_type = std::shared_ptr<detail::shared_state<R>>;
156 std::shared_future<R> share() noexcept { return std::shared_future<R>(); }
158 R get() { return state_->get(); }
236 template <typename R>
238 using state_type = std::shared_ptr<detail::shared_state<R>>;
240 promise() : state_(new detail::shared_state<R>()) {}
264 std::future<R> get_future() { return std::future<R>(state_); }
266 void set_value(const R &value) { state_->set(value); }
268 void set_value(R &&value) { state_->set(std::move(value)); }
270 void set_value_at_thread_exit(const R &value);
272 void set_value_at_thread_exit(R &&value);
326 template <class R>
327 void swap(std::future<R> &lhs, std::future<R> &rhs) noexcept {
331 template <class R>
332 void swap(std::promise<R> &lhs, std::promise<R> &rhs) noexcept {