Iros
 
Loading...
Searching...
No Matches
monad_try.h File Reference
#include "di/util/move.h"

Go to the source code of this file.

Macros

#define DI_TRY(...)
 
#define TRY   DI_TRY
 

Macro Definition Documentation

◆ DI_TRY

#define DI_TRY ( ...)
Value:
__extension__({ \
auto __result = (__VA_ARGS__); \
if (!__result) { \
return di::util::move(__result).__try_did_fail(); \
} \
di::util::move(__result).__try_did_succeed(); \
}).__try_move_out()

◆ TRY

#define TRY   DI_TRY