YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
shared_contract.hpp
Go to the documentation of this file.
1#pragma once
2
6
7#include <utility>
8
9namespace yaclib {
10
11template <typename V, typename E>
12using SharedContract = std::pair<SharedFuture<V, E>, SharedPromise<V, E>>;
13
14template <typename V, typename E>
15using SharedContractOn = std::pair<SharedFutureOn<V, E>, SharedPromise<V, E>>;
16
17template <typename V = void, typename E = StopError>
24
25template <typename V = void, typename E = StopError>
34
35template <typename V = void, typename E = StopError>
41
42} // namespace yaclib
A intrusive pointer to objects with an embedded reference count.
constexpr size_t kSharedRefWithFuture
constexpr size_t kSharedRefNoFuture
SharedContract< V, E > MakeSharedContract()
std::pair< SharedFutureOn< V, E >, SharedPromise< V, E > > SharedContractOn
SharedContract< V, E > MakeSharedContractOn(IExecutor &e)
SharedPromise< V, E > MakeSharedPromise()
std::pair< SharedFuture< V, E >, SharedPromise< V, E > > SharedContract
Contract< V, E > MakeContract()
Creates related future and promise.
Definition contract.hpp:25