#include <stdlib.h>
#include <string.h>
#include <derive-c/core/prelude.h>
#include <derive-c/utils/option/template.h>
Go to the source code of this file.
◆ ITEM
◆ ITEM_CLONE
◆ ITEM_DELETE
◆ NAME
| #define NAME complex_data_option |
◆ complex_data_clone()
- Examples
- utils/option.c.
Definition at line 17 of file option.c.
17 {
19 .x = self->x,
20 .y = self->y,
21 .description = strdup(self->description),
22 };
23}
◆ complex_data_delete()
◆ main()
◆ option_example()
- Examples
- utils/option.c.
Definition at line 31 of file option.c.
31 {
32 complex_data_option opt = complex_data_option_empty();
33 ASSERT(!complex_data_option_is_present(&opt));
34
35
36 ASSERT(!complex_data_option_get(&opt));
37 ASSERT(!complex_data_option_get_const(&opt));
38
39 bool was_present_1 = complex_data_option_replace(
40 &opt, (
struct complex_data){.x = 42, .y = 3.14, .description = strdup(
"A complex data")});
42
43 ASSERT(complex_data_option_is_present(&opt));
44 ASSERT(complex_data_option_get(&opt));
45
46 bool was_present_2 = complex_data_option_replace(
47 &opt,
48 (
struct complex_data){.x = 100, .y = 2.71, .description = strdup(
"Another complex data")});
50
51 complex_data_option_delete(&opt);
52}