5#define YACLIB_DEFINE_VOID_COMPARE(type) \
6 constexpr bool operator==(type, type) noexcept { \
9 constexpr bool operator!=(type, type) noexcept { \
12 constexpr bool operator<(type, type) noexcept { \
15 constexpr bool operator<=(type, type) noexcept { \
18 constexpr bool operator>=(type, type) noexcept { \
21 constexpr bool operator>(type, type) noexcept { \
25#define YACLIB_DEFINE_VOID_TYPE(type) \
27 YACLIB_DEFINE_VOID_COMPARE(type)
34template <
typename V =
void>
37template <
typename V =
void,
typename T = DefaultTrait>
40template <
typename V,
typename T>
43template <
typename V =
void,
typename T = DefaultTrait>
46template <
typename V =
void,
typename T = DefaultTrait>
49template <
typename V =
void,
typename T = DefaultTrait>
52template <
typename V,
typename T>
55template <
typename V =
void,
typename T = DefaultTrait>
58template <
typename V =
void,
typename T = DefaultTrait>
61template <
typename V =
void,
typename T = DefaultTrait>
Provides a mechanism to access the result of async operations.
Provides a mechanism to access the result of async operations.
Provides a mechanism to access the result of async operations.
Encapsulated return value from caller.
Provides a mechanism to schedule the some async operations TODO(MBkkt) add description.
#define YACLIB_DEFINE_VOID_TYPE(type)
Contract< V, T > MakeContract()
Creates related future and promise.
Trait used by default for all async abstractions, a separate struct so it can be forward declared.