summaryrefslogtreecommitdiffhomepage
path: root/misc/examples
diff options
context:
space:
mode:
Diffstat (limited to 'misc/examples')
-rw-r--r--misc/examples/arc_containers.c2
-rw-r--r--misc/examples/astar.c1
-rw-r--r--misc/examples/books.c1
-rw-r--r--misc/examples/box.c1
-rw-r--r--misc/examples/complex.c3
-rw-r--r--misc/examples/convert.c2
-rw-r--r--misc/examples/coread.c2
-rw-r--r--misc/examples/csmap_erase.c1
-rw-r--r--misc/examples/csmap_find.c1
-rw-r--r--misc/examples/csmap_insert.c1
-rw-r--r--misc/examples/cstr_match.c1
-rw-r--r--misc/examples/demos.c1
-rw-r--r--misc/examples/forfilter.c1
-rw-r--r--misc/examples/gauss2.c3
-rw-r--r--misc/examples/hashmap.c1
-rw-r--r--misc/examples/inits.c2
-rw-r--r--misc/examples/list_splice.c1
-rwxr-xr-xmisc/examples/make.sh2
-rw-r--r--misc/examples/mapmap.c2
-rw-r--r--misc/examples/mmap.c1
-rw-r--r--misc/examples/multimap.c1
-rw-r--r--misc/examples/music_arc.c1
-rw-r--r--misc/examples/new_map.c1
-rw-r--r--misc/examples/new_smap.c1
-rw-r--r--misc/examples/new_sptr.c1
-rw-r--r--misc/examples/person_arc.c1
-rw-r--r--misc/examples/phonebook.c2
-rw-r--r--misc/examples/printspan.c1
-rw-r--r--misc/examples/rawptr_elements.c2
-rw-r--r--misc/examples/read.c1
-rw-r--r--misc/examples/regex_match.c1
-rw-r--r--misc/examples/replace.c1
-rw-r--r--misc/examples/splitstr.c1
-rw-r--r--misc/examples/sso_map.c1
-rw-r--r--misc/examples/sso_substr.c2
-rw-r--r--misc/examples/sview_split.c2
-rw-r--r--misc/examples/unordered_set.c1
-rw-r--r--misc/examples/utf8replace_c.c1
-rw-r--r--misc/examples/vikings.c1
39 files changed, 41 insertions, 12 deletions
diff --git a/misc/examples/arc_containers.c b/misc/examples/arc_containers.c
index d6a0afa8..7038734e 100644
--- a/misc/examples/arc_containers.c
+++ b/misc/examples/arc_containers.c
@@ -1,6 +1,6 @@
// Create a stack and a list of shared pointers to maps,
// and demonstrate sharing and cloning of maps.
-#define i_static
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
#define i_type Map
diff --git a/misc/examples/astar.c b/misc/examples/astar.c
index dae6d609..db6bbd70 100644
--- a/misc/examples/astar.c
+++ b/misc/examples/astar.c
@@ -4,6 +4,7 @@
// This is a reimplementation of the CTL example to STC:
// https://github.com/glouw/ctl/blob/master/examples/astar.c
// https://www.redblobgames.com/pathfinding/a-star/introduction.html
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
#include <stdio.h>
diff --git a/misc/examples/books.c b/misc/examples/books.c
index a62769b0..7f0660b8 100644
--- a/misc/examples/books.c
+++ b/misc/examples/books.c
@@ -1,4 +1,5 @@
// https://doc.rust-lang.org/std/collections/struct.HashMap.html
+#define i_implement
#include <stc/cstr.h>
#define i_key_str
#define i_val_str
diff --git a/misc/examples/box.c b/misc/examples/box.c
index 9954883c..e352aa2b 100644
--- a/misc/examples/box.c
+++ b/misc/examples/box.c
@@ -1,4 +1,5 @@
/* cbox: heap allocated boxed type */
+#define i_implement
#include <stc/cstr.h>
typedef struct { cstr name, last; } Person;
diff --git a/misc/examples/complex.c b/misc/examples/complex.c
index c730db33..2d8dbf62 100644
--- a/misc/examples/complex.c
+++ b/misc/examples/complex.c
@@ -5,10 +5,9 @@
// using StackList = std::stack<FloatStack>;
// using ListMap = std::unordered_map<int, std::forward_list<StackList>>;
// using MapMap = std::unordered_map<std::string, ListMap>;
-
+#define i_implement
#include <stc/cstr.h>
-
#define i_type FloatStack
#define i_val float
#include <stc/cstack.h>
diff --git a/misc/examples/convert.c b/misc/examples/convert.c
index c5649c55..318f09b8 100644
--- a/misc/examples/convert.c
+++ b/misc/examples/convert.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
@@ -9,7 +10,6 @@
#include <stc/cvec.h>
#define i_val_str
-#define i_extern // define _clist_mergesort() once
#include <stc/clist.h>
int main()
diff --git a/misc/examples/coread.c b/misc/examples/coread.c
index 2585fb81..63162ba3 100644
--- a/misc/examples/coread.c
+++ b/misc/examples/coread.c
@@ -1,4 +1,4 @@
-#define i_static
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/coroutine.h>
#include <errno.h>
diff --git a/misc/examples/csmap_erase.c b/misc/examples/csmap_erase.c
index 568dae29..9433d370 100644
--- a/misc/examples/csmap_erase.c
+++ b/misc/examples/csmap_erase.c
@@ -1,5 +1,6 @@
// map_erase.c
// From C++ example: https://docs.microsoft.com/en-us/cpp/standard-library/map-class?view=msvc-160#example-16
+#define i_implement
#include <stc/cstr.h>
#include <stdio.h>
diff --git a/misc/examples/csmap_find.c b/misc/examples/csmap_find.c
index 92dd0031..a8928410 100644
--- a/misc/examples/csmap_find.c
+++ b/misc/examples/csmap_find.c
@@ -1,5 +1,6 @@
// This implements the c++ std::map::find example at:
// https://docs.microsoft.com/en-us/cpp/standard-library/map-class?view=msvc-160#example-17
+#define i_implement
#include <stc/cstr.h>
#define i_key int
diff --git a/misc/examples/csmap_insert.c b/misc/examples/csmap_insert.c
index 7708fdc9..f96cc08f 100644
--- a/misc/examples/csmap_insert.c
+++ b/misc/examples/csmap_insert.c
@@ -5,6 +5,7 @@
#define i_tag ii // Map of int => int
#include <stc/csmap.h>
+#define i_implement
#include <stc/cstr.h>
#define i_key int
#define i_val_str
diff --git a/misc/examples/cstr_match.c b/misc/examples/cstr_match.c
index 58cf8884..10a843cf 100644
--- a/misc/examples/cstr_match.c
+++ b/misc/examples/cstr_match.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#include <stc/csview.h>
#include <stdio.h>
diff --git a/misc/examples/demos.c b/misc/examples/demos.c
index de92e378..8488dfb9 100644
--- a/misc/examples/demos.c
+++ b/misc/examples/demos.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
void stringdemo1()
diff --git a/misc/examples/forfilter.c b/misc/examples/forfilter.c
index 8ea3e6a1..f9505aa9 100644
--- a/misc/examples/forfilter.c
+++ b/misc/examples/forfilter.c
@@ -1,6 +1,7 @@
#include <stdio.h>
#define i_extern
#include <stc/cstr.h>
+#define i_implement
#include <stc/csview.h>
#include <stc/algo/filter.h>
#include <stc/algo/crange.h>
diff --git a/misc/examples/gauss2.c b/misc/examples/gauss2.c
index e786824b..67586181 100644
--- a/misc/examples/gauss2.c
+++ b/misc/examples/gauss2.c
@@ -1,8 +1,9 @@
#include <stdio.h>
#include <time.h>
-#include <stc/crand.h>
+#define i_implement
#include <stc/cstr.h>
+#include <stc/crand.h>
// Declare int -> int sorted map.
#define i_key int
diff --git a/misc/examples/hashmap.c b/misc/examples/hashmap.c
index 47a3bcff..cf11b7f7 100644
--- a/misc/examples/hashmap.c
+++ b/misc/examples/hashmap.c
@@ -1,4 +1,5 @@
// https://doc.rust-lang.org/rust-by-example/std/hash.html
+#define i_implement
#include <stc/cstr.h>
#define i_key_str
#define i_val_str
diff --git a/misc/examples/inits.c b/misc/examples/inits.c
index 1f01f88a..a3a6c4d2 100644
--- a/misc/examples/inits.c
+++ b/misc/examples/inits.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#define i_key int
@@ -25,7 +26,6 @@ inline static int ipair_cmp(const ipair_t* a, const ipair_t* b) {
#define i_val ipair_t
#define i_cmp ipair_cmp
#define i_tag ip
-#define i_extern // define _clist_mergesort() once
#include <stc/clist.h>
#define i_val float
diff --git a/misc/examples/list_splice.c b/misc/examples/list_splice.c
index 73015454..e457694d 100644
--- a/misc/examples/list_splice.c
+++ b/misc/examples/list_splice.c
@@ -2,7 +2,6 @@
#define i_val int
#define i_tag i
-#define i_extern // define _clist_mergesort() once
#include <stc/clist.h>
void print_ilist(const char* s, clist_i list)
diff --git a/misc/examples/make.sh b/misc/examples/make.sh
index d58ed0cb..61d9f879 100755
--- a/misc/examples/make.sh
+++ b/misc/examples/make.sh
@@ -6,7 +6,7 @@ if [ "$(uname)" = 'Linux' ]; then
oflag='-o '
fi
-cc=gcc; cflags="-DSTC_STATIC -std=c99 -s -O3 -Wall -Wextra -Wpedantic -Wconversion -Wwrite-strings -Wdouble-promotion -Wno-unused-parameter -Wno-maybe-uninitialized -Wno-implicit-fallthrough -Wno-missing-field-initializers"
+cc=gcc; cflags="-std=c99 -s -O3 -Wall -Wextra -Wpedantic -Wconversion -Wwrite-strings -Wdouble-promotion -Wno-unused-parameter -Wno-maybe-uninitialized -Wno-implicit-fallthrough -Wno-missing-field-initializers"
#cc=gcc; cflags="-DSTC_STATIC -std=c99 -g -Werror -Wfatal-errors -Wpedantic -Wall $sanitize"
#cc=tcc; cflags="-DSTC_STATIC -std=c99 -Wall"
#cc=clang; cflags="-DSTC_STATIC -std=c99 -s -O3 -Wall -Wextra -Wpedantic -Wconversion -Wwrite-strings -Wdouble-promotion -Wno-unused-parameter -Wno-unused-function -Wno-implicit-fallthrough -Wno-missing-field-initializers"
diff --git a/misc/examples/mapmap.c b/misc/examples/mapmap.c
index 668da5de..d3065659 100644
--- a/misc/examples/mapmap.c
+++ b/misc/examples/mapmap.c
@@ -1,5 +1,5 @@
// create a structure like: std::map<std::string, std::map<std::string, std::string>>:
-
+#define i_implement
#include <stc/cstr.h>
// People: std::map<std::string, std::string>
diff --git a/misc/examples/mmap.c b/misc/examples/mmap.c
index 0394a2df..63312e04 100644
--- a/misc/examples/mmap.c
+++ b/misc/examples/mmap.c
@@ -2,6 +2,7 @@
// https://en.cppreference.com/w/cpp/container/multimap/insert
// Multimap entries
+#define i_implement
#include <stc/cstr.h>
#define i_val_str
#include <stc/clist.h>
diff --git a/misc/examples/multimap.c b/misc/examples/multimap.c
index d8981a81..dc4a1ee0 100644
--- a/misc/examples/multimap.c
+++ b/misc/examples/multimap.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
// Olympics multimap example
diff --git a/misc/examples/music_arc.c b/misc/examples/music_arc.c
index 87a57783..9c7173ef 100644
--- a/misc/examples/music_arc.c
+++ b/misc/examples/music_arc.c
@@ -1,5 +1,6 @@
// shared_ptr-examples.cpp
// based on https://docs.microsoft.com/en-us/cpp/cpp/how-to-create-and-use-shared-ptr-instances?view=msvc-160
+#define i_implement
#include <stc/cstr.h>
typedef struct
diff --git a/misc/examples/new_map.c b/misc/examples/new_map.c
index 1f50db83..277bcbc2 100644
--- a/misc/examples/new_map.c
+++ b/misc/examples/new_map.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#include <stc/forward.h>
diff --git a/misc/examples/new_smap.c b/misc/examples/new_smap.c
index 2eaae836..77c4cdce 100644
--- a/misc/examples/new_smap.c
+++ b/misc/examples/new_smap.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#include <stc/forward.h>
diff --git a/misc/examples/new_sptr.c b/misc/examples/new_sptr.c
index 1b72e4f5..aa8dd175 100644
--- a/misc/examples/new_sptr.c
+++ b/misc/examples/new_sptr.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
typedef struct { cstr name, last; } Person;
diff --git a/misc/examples/person_arc.c b/misc/examples/person_arc.c
index c931089d..b4b926da 100644
--- a/misc/examples/person_arc.c
+++ b/misc/examples/person_arc.c
@@ -1,4 +1,5 @@
/* cbox: heap allocated boxed type */
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
diff --git a/misc/examples/phonebook.c b/misc/examples/phonebook.c
index 38a71089..faf7566e 100644
--- a/misc/examples/phonebook.c
+++ b/misc/examples/phonebook.c
@@ -20,7 +20,7 @@
// IN THE SOFTWARE.
// Program to emulates the phone book.
-
+#define i_implement
#include <stc/cstr.h>
#define i_key_str
diff --git a/misc/examples/printspan.c b/misc/examples/printspan.c
index b9ec2476..b5099ed5 100644
--- a/misc/examples/printspan.c
+++ b/misc/examples/printspan.c
@@ -1,6 +1,7 @@
// printspan.c
#include <stdio.h>
+#define i_implement
#include <stc/cstr.h>
#define i_val int
#include <stc/cvec.h>
diff --git a/misc/examples/rawptr_elements.c b/misc/examples/rawptr_elements.c
index 01bcdc44..8dd52aee 100644
--- a/misc/examples/rawptr_elements.c
+++ b/misc/examples/rawptr_elements.c
@@ -1,6 +1,6 @@
#include <stc/ccommon.h>
#include <stdio.h>
-
+#define i_implement
#include <stc/cstr.h>
// Create cmap of cstr => long*
diff --git a/misc/examples/read.c b/misc/examples/read.c
index edc89f0e..545d706a 100644
--- a/misc/examples/read.c
+++ b/misc/examples/read.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
#define i_val_str
diff --git a/misc/examples/regex_match.c b/misc/examples/regex_match.c
index e49ebd0b..b4932015 100644
--- a/misc/examples/regex_match.c
+++ b/misc/examples/regex_match.c
@@ -1,5 +1,6 @@
#define i_extern
#include <stc/cregex.h>
+#define i_implement
#include <stc/csview.h>
#define i_val float
diff --git a/misc/examples/replace.c b/misc/examples/replace.c
index cf5b45cb..9ac26c07 100644
--- a/misc/examples/replace.c
+++ b/misc/examples/replace.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
int main ()
diff --git a/misc/examples/splitstr.c b/misc/examples/splitstr.c
index 2bc6fc07..658c46a1 100644
--- a/misc/examples/splitstr.c
+++ b/misc/examples/splitstr.c
@@ -1,6 +1,7 @@
#include <stdio.h>
#define i_extern // cstr + utf8 functions
#include <stc/cregex.h>
+#define i_implement
#include <stc/csview.h>
int main()
diff --git a/misc/examples/sso_map.c b/misc/examples/sso_map.c
index 70450e21..b78dcb2e 100644
--- a/misc/examples/sso_map.c
+++ b/misc/examples/sso_map.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
#define i_key_str
#define i_val_str
diff --git a/misc/examples/sso_substr.c b/misc/examples/sso_substr.c
index 4b2dbcc8..9b062eed 100644
--- a/misc/examples/sso_substr.c
+++ b/misc/examples/sso_substr.c
@@ -1,4 +1,6 @@
+#define i_implement
#include <stc/cstr.h>
+#define i_implement
#include <stc/csview.h>
int main ()
diff --git a/misc/examples/sview_split.c b/misc/examples/sview_split.c
index 31a28e51..782e4096 100644
--- a/misc/examples/sview_split.c
+++ b/misc/examples/sview_split.c
@@ -1,4 +1,6 @@
+#define i_implement
#include <stc/cstr.h>
+#define i_implement
#include <stc/csview.h>
int main()
diff --git a/misc/examples/unordered_set.c b/misc/examples/unordered_set.c
index 90c78521..006a1e80 100644
--- a/misc/examples/unordered_set.c
+++ b/misc/examples/unordered_set.c
@@ -1,5 +1,6 @@
// https://iq.opengenus.org/containers-cpp-stl/
// C program to demonstrate various function of stc cset
+#define i_implement
#include <stc/cstr.h>
#include <stc/algo/raii.h>
#define i_key_str
diff --git a/misc/examples/utf8replace_c.c b/misc/examples/utf8replace_c.c
index 3cde8701..17352fee 100644
--- a/misc/examples/utf8replace_c.c
+++ b/misc/examples/utf8replace_c.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
int main()
diff --git a/misc/examples/vikings.c b/misc/examples/vikings.c
index abb909c3..cf087119 100644
--- a/misc/examples/vikings.c
+++ b/misc/examples/vikings.c
@@ -1,3 +1,4 @@
+#define i_implement
#include <stc/cstr.h>
typedef struct Viking {