Remove back template lambda support in Promise.
This commit is contained in:
parent
32bac7bd24
commit
003fa6ffee
@ -92,7 +92,7 @@ class LambdaPromise : public PromiseInterface<ValueT> {
|
|||||||
public:
|
public:
|
||||||
void set_value(ValueT &&value) override {
|
void set_value(ValueT &&value) override {
|
||||||
CHECK(state_.get() == State::Ready);
|
CHECK(state_.get() == State::Ready);
|
||||||
func_(std::move(value));
|
do_ok(std::move(value));
|
||||||
state_ = State::Complete;
|
state_ = State::Complete;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,6 +128,14 @@ class LambdaPromise : public PromiseInterface<ValueT> {
|
|||||||
std::enable_if_t<!is_callable<F, Result<ValueT>>::value, void> do_error(Y &&status) {
|
std::enable_if_t<!is_callable<F, Result<ValueT>>::value, void> do_error(Y &&status) {
|
||||||
func_(Auto());
|
func_(Auto());
|
||||||
}
|
}
|
||||||
|
template <class F = FunctionT>
|
||||||
|
std::enable_if_t<is_callable<F, Result<ValueT>>::value, void> do_ok(ValueT &&value) {
|
||||||
|
func_(Result<ValueT>(std::move(value)));
|
||||||
|
}
|
||||||
|
template <class F = FunctionT>
|
||||||
|
std::enable_if_t<!is_callable<F, Result<ValueT>>::value, void> do_ok(ValueT &&value) {
|
||||||
|
func_(std::move(value));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user