feat set default value
This commit is contained in:
parent
2268a7e4aa
commit
bfa136e8d0
@ -1,6 +1,7 @@
|
|||||||
#ifndef SLED_FUTURES_FUTURE_H
|
#ifndef SLED_FUTURES_FUTURE_H
|
||||||
#define SLED_FUTURES_FUTURE_H
|
#define SLED_FUTURES_FUTURE_H
|
||||||
|
|
||||||
|
#include <exception>
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "sled/exec/detail/invoke_result.h"
|
#include "sled/exec/detail/invoke_result.h"
|
||||||
#include "sled/futures/internal/failure_handling.h"
|
#include "sled/futures/internal/failure_handling.h"
|
||||||
@ -59,7 +60,7 @@ struct FutureData {
|
|||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
template<typename T, typename FailureT>
|
template<typename T, typename FailureT = std::exception>
|
||||||
class Future {
|
class Future {
|
||||||
static_assert(!std::is_same<T, void>::value, "Future<void, _> is not allowed. Use Future<bool, _> instead");
|
static_assert(!std::is_same<T, void>::value, "Future<void, _> is not allowed. Use Future<bool, _> instead");
|
||||||
static_assert(!std::is_same<FailureT, void>::value, "Future<_, void> is not allowed. Use Future<_, bool> instead");
|
static_assert(!std::is_same<FailureT, void>::value, "Future<_, void> is not allowed. Use Future<_, bool> instead");
|
||||||
|
@ -10,8 +10,8 @@ namespace sled {
|
|||||||
template<typename T, typename FailureT>
|
template<typename T, typename FailureT>
|
||||||
class Future;
|
class Future;
|
||||||
|
|
||||||
template<typename T, typename FailureT>
|
template<typename T, typename FailureT = std::exception>
|
||||||
class Promise {
|
class Promise final {
|
||||||
static_assert(!std::is_same<T, void>::value, "Promise<void, _> is not allowed. Use Promise<bool, _> instead");
|
static_assert(!std::is_same<T, void>::value, "Promise<void, _> is not allowed. Use Promise<bool, _> instead");
|
||||||
static_assert(!std::is_same<FailureT, void>::value,
|
static_assert(!std::is_same<FailureT, void>::value,
|
||||||
"Promise<_, void> is not allowed. Use Promise<_, bool> instead");
|
"Promise<_, void> is not allowed. Use Promise<_, bool> instead");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user