25 #ifndef SVNXX_DETAIL_FUTURE_HPP 26 #define SVNXX_DETAIL_FUTURE_HPP 32 namespace subversion {
39 using shared_ptr = std::shared_ptr<result>;
40 using unique_ptr = std::unique_ptr<result>;
50 : shared_result(that.shared_result)
54 : shared_result(std::move(that.shared_result))
58 : shared_result(shared_result_)
62 shared_ptr shared_result;
78 using inherited = std::shared_future<T>;
80 shared_future(inherited&& that, shared_ptr shared_result_) noexcept
98 using inherited::valid;
99 using inherited::wait;
100 using inherited::wait_for;
101 using inherited::wait_until;
113 explicit future_base(unique_ptr&& unique_result_) noexcept;
115 shared_ptr share() noexcept;
118 unique_ptr unique_result;
127 class future :
private std::future<T>,
134 using inherited = std::future<T>;
136 future(inherited&& that, unique_ptr&& unique_result_) noexcept
137 : inherited(std::move(that)),
future_base(std::move(unique_result_))
144 : inherited(std::move(that)),
future_base(std::move(that))
152 using inherited::get;
153 using inherited::valid;
154 using inherited::wait;
155 using inherited::wait_for;
156 using inherited::wait_until;
175 #endif // SVNXX_DETAIL_FUTURE_HPP
like std::future, but also maintains internal state relevant to the asynchronous SVN++ operation...
like std::shared_future, but also maintains internal state relevant to the asynchronous SVN++ operati...