diff options
| author | Tyge Løvset <[email protected]> | 2023-08-14 21:19:28 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2023-08-14 21:19:28 +0200 |
| commit | b6f7896ff21002e58e9af12fd553da32bda5f6d1 (patch) | |
| tree | e2fc50fb89c9b579f2deddd697d2b30a802c5a2f /misc/examples/spans/printspan.c | |
| parent | 78d8668e6d527070568a405408ed906e51055bf4 (diff) | |
| download | STC-modified-b6f7896ff21002e58e9af12fd553da32bda5f6d1.tar.gz STC-modified-b6f7896ff21002e58e9af12fd553da32bda5f6d1.zip | |
Simplified printspan.c example
Diffstat (limited to 'misc/examples/spans/printspan.c')
| -rw-r--r-- | misc/examples/spans/printspan.c | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/misc/examples/spans/printspan.c b/misc/examples/spans/printspan.c index eb9d80e3..b6999b61 100644 --- a/misc/examples/spans/printspan.c +++ b/misc/examples/spans/printspan.c @@ -1,18 +1,16 @@ -// printspan.c +// https://www.modernescpp.com/index.php/c-20-std-span/ #include <stdio.h> -#define i_implement -#include <stc/cstr.h> #define i_key int #include <stc/cvec.h> + #define i_key int #include <stc/cstack.h> -#define i_key_str -#include <stc/csset.h> #include <stc/cspan.h> using_cspan(intspan, int); + void printMe(intspan container) { printf("%d:", (int)cspan_size(&container)); c_foreach (e, intspan, container) @@ -20,33 +18,24 @@ void printMe(intspan container) { puts(""); } + int main(void) { - intspan sp1 = cspan_init(intspan, {1, 2}); - printMe( sp1 ); + printMe( c_init(intspan, {1, 2, 3, 4}) ); - printMe( c_init(intspan, {1, 2, 3}) ); + int arr[] = {1, 2, 3, 4, 5}; + printMe( (intspan)cspan_from_array(arr) ); - int arr[] = {1, 2, 3, 4, 5, 6}; - intspan sp2 = cspan_from_array(arr); - printMe( c_LITERAL(intspan)cspan_subspan(&sp2, 1, 4) ); - - cvec_int vec = c_init(cvec_int, {1, 2, 3, 4, 5}); - printMe( c_LITERAL(intspan)cspan_from(&vec) ); - - printMe( sp2 ); + cvec_int vec = c_init(cvec_int, {1, 2, 3, 4, 5, 6}); + printMe( (intspan)cspan_from(&vec) ); cstack_int stk = c_init(cstack_int, {1, 2, 3, 4, 5, 6, 7}); - printMe( c_LITERAL(intspan)cspan_from(&stk) ); + printMe( (intspan)cspan_from(&stk) ); - csset_str set = c_init(csset_str, {"5", "7", "4", "3", "8", "2", "1", "9", "6"}); - printf("%d:", (int)csset_str_size(&set)); - c_foreach (e, csset_str, set) - printf(" %s", cstr_str(e.ref)); - puts(""); + intspan spn = c_init(intspan, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + printMe( (intspan)cspan_subspan(&spn, 2, 8) ); // cleanup cvec_int_drop(&vec); cstack_int_drop(&stk); - csset_str_drop(&set); } |
