Skip to content

Commit 932fff8

Browse files
pirama-arumuga-nainarAndroid (Google) Code Review
authored andcommitted
Merge "FTL: Provide definition of BaseFuture where third template parameter is ftl::Future" into main
2 parents 526b668 + c022ead commit 932fff8

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

include/ftl/details/future.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,16 @@ using future_result_t = typename future_result<T>::type;
4848

4949
struct ValueTag {};
5050

51-
template <typename, typename T, template <typename> class>
52-
class BaseFuture;
53-
54-
template <typename Self, typename T>
55-
class BaseFuture<Self, T, std::future> {
56-
using Impl = std::future<T>;
51+
template <typename Self, typename T, template <typename> class FutureImpl = std::future>
52+
class BaseFuture {
5753

5854
public:
5955
Future<T, std::shared_future> share() {
6056
if (T* value = std::get_if<T>(&self())) {
6157
return {ValueTag{}, std::move(*value)};
6258
}
6359

64-
return std::get<Impl>(self()).share();
60+
return std::get<FutureImpl<T>>(self()).share();
6561
}
6662

6763
protected:
@@ -70,7 +66,7 @@ class BaseFuture<Self, T, std::future> {
7066
return std::move(*value);
7167
}
7268

73-
return std::get<Impl>(self()).get();
69+
return std::get<FutureImpl<T>>(self()).get();
7470
}
7571

7672
template <class Rep, class Period>
@@ -79,7 +75,7 @@ class BaseFuture<Self, T, std::future> {
7975
return std::future_status::ready;
8076
}
8177

82-
return std::get<Impl>(self()).wait_for(timeout_duration);
78+
return std::get<FutureImpl<T>>(self()).wait_for(timeout_duration);
8379
}
8480

8581
private:

0 commit comments

Comments
 (0)