56 {
58
61 success_result = example_result_from_ok((
struct example_data){
62 .value = 42,
63 .description = strdup("A successful result"),
64 });
65
71
76
77 DC_ASSERT(!example_result_is_error(&success_result));
78 DC_ASSERT(example_result_is_error(&error_result));
79 DC_ASSERT(example_result_is_error(&invalid_result));
80 DC_ASSERT(example_result_is_error(&permission_result));
81
82 struct example_data const* ok_data = example_result_get_okay(&success_result);
86
87 enum error_kind const* error_data = example_result_get_error(&error_result);
90
91 enum error_kind const* invalid_data = example_result_get_error(&invalid_result);
94
95 enum error_kind const* permission_data = example_result_get_error(&permission_result);
98
99 DC_ASSERT(example_result_get_okay(&error_result) == NULL);
100 DC_ASSERT(example_result_get_error(&success_result) == NULL);
101
103}
#define DC_DEBUG(DEBUG_FN, DEBUG_PTR)
#define DC_ASSERT(expr,...)
#define DC_SCOPED(type,...)
RAII in C. Call the destructor when the variable goes out of scope.
#define DC_LOGGER_NEW(...)