# std::experimental::shared_future::shared_future

From cppreference.com
< cpp‎ | experimental‎ | shared future

shared_future() noexcept; | (1) |
shared_future(std::experimental::shared_future<T>&& f) noexcept; | (2) |
shared_future(const std::experimental::shared_future<T>& f); | (3) |
shared_future(std::experimental::future<std::experimental::shared_future<T>> && other) noexcept; | (4) |
shared_future(std::experimental::future<T>&& f) noexcept; | (5) |

1) Default constructor. Constructs an empty `shared_future` object that does not refer to a shared state.
2) Constructs a `shared_future` object, transferring the shared state held by `f`, if any. After construction, f.valid() is false.
3) Constructs a shared future that refers to the same shared state as `f`, if any.
4) Constructs a `shared_future` object from the shared state referred to by `other`. The resulting `shared_future` object becomes ready when one of the following happens:

- other and other.get() are both ready. The value or exception from other.get() is stored in the shared state associated with the resulting `shared_future` object.
- other is ready, but other.get() is invalid. An exception of type std::future_error with an error condition of std::future_errc::broken_promise is stored in the shared state associated with the resulting `shared_future` object.

After this constructor returns, valid() == true and other.valid() == false.
5) Constructs a `shared_future` object, transferring the shared state held by `f`, if any. After construction, f.valid() is false.

### Parameters

f | - | another future object to initialize with
other | - | A `std::experimental::future` object to unwrap

### Example

| This section is incomplete Reason: no example

### See also

(constructor) | constructs the future object (public member function of `std::shared_future`)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/shared_future/shared_future&oldid=85486"
Category:

- Todo no example