summaryrefslogtreecommitdiffhomepage
path: root/misc/examples/hashmap.c
diff options
context:
space:
mode:
authortylov <[email protected]>2023-07-20 15:09:10 +0200
committertylov <[email protected]>2023-07-20 15:12:29 +0200
commit900295256d825fc323149cd223c49787f32a3696 (patch)
tree6c79cf4209e3975bb6865e2940b9cb56ea469c73 /misc/examples/hashmap.c
parent224a04f7fa7549ed94d2a1415eb25829e39a7cca (diff)
downloadSTC-modified-900295256d825fc323149cd223c49787f32a3696.tar.gz
STC-modified-900295256d825fc323149cd223c49787f32a3696.zip
Moved examples to sub-directories. Added cotask1.c cotask2.c examples.
Diffstat (limited to 'misc/examples/hashmap.c')
-rw-r--r--misc/examples/hashmap.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/misc/examples/hashmap.c b/misc/examples/hashmap.c
deleted file mode 100644
index cf11b7f7..00000000
--- a/misc/examples/hashmap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// 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
-#include <stdio.h>
-#include <stc/cmap.h>
-
-const char* call(const char* number) {
- if (!strcmp(number, "798-1364"))
- return "We're sorry, the call cannot be completed as dialed."
- " Please hang up and try again.";
- else if (!strcmp(number, "645-7689"))
- return "Hello, this is Mr. Awesome's Pizza. My name is Fred."
- " What can I get for you today?";
- else
- return "Hi! Who is this again?";
-}
-
-int main(void) {
- cmap_str contacts = {0};
-
- cmap_str_emplace(&contacts, "Daniel", "798-1364");
- cmap_str_emplace(&contacts, "Ashley", "645-7689");
- cmap_str_emplace(&contacts, "Katie", "435-8291");
- cmap_str_emplace(&contacts, "Robert", "956-1745");
-
- const cmap_str_value* v;
- if ((v = cmap_str_get(&contacts, "Daniel")))
- printf("Calling Daniel: %s\n", call(cstr_str(&v->second)));
- else
- printf("Don't have Daniel's number.");
-
- cmap_str_emplace_or_assign(&contacts, "Daniel", "164-6743");
-
- if ((v = cmap_str_get(&contacts, "Ashley")))
- printf("Calling Ashley: %s\n", call(cstr_str(&v->second)));
- else
- printf("Don't have Ashley's number.");
-
- cmap_str_erase(&contacts, "Ashley");
-
- puts("");
- c_forpair (contact, number, cmap_str, contacts) {
- printf("Calling %s: %s\n", cstr_str(_.contact), call(cstr_str(_.number)));
- }
- puts("");
-
- cmap_str_drop(&contacts);
-}