From 0c6b41fd08bac55281ff9ad41b0d052171881651 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Tue, 26 Oct 2021 20:46:43 +0200 Subject: Added some examples and updated docs. Removed cvec_X_erase() and cdeq_X_erase() - may be used wrong. Use cvec_X_erase_n() instead. Fixed type-bug in cpque.h (same was in cqueue.h). --- examples/unordered_set.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 examples/unordered_set.c (limited to 'examples/unordered_set.c') diff --git a/examples/unordered_set.c b/examples/unordered_set.c new file mode 100644 index 00000000..f4e37cf8 --- /dev/null +++ b/examples/unordered_set.c @@ -0,0 +1,41 @@ +// https://iq.opengenus.org/containers-cpp-stl/ +// C program to demonstrate various function of stc cset +#define i_key_str +#include + +int main() +{ + // declaring set for storing string data-type + c_auto (cset_str, stringSet) + { + // inserting various string, same string will be stored + // once in set + cset_str_emplace(&stringSet, "code"); + cset_str_emplace(&stringSet, "in"); + cset_str_emplace(&stringSet, "C"); + cset_str_emplace(&stringSet, "is"); + cset_str_emplace(&stringSet, "fast"); + + const char* key = "slow"; + + // find returns end iterator if key is not found, + // else it returns iterator to that key + + if (cset_str_find(&stringSet, key).ref == cset_str_end(&stringSet).ref) + printf("\"%s\" not found\n", key); + else + printf("Found \"%s\"\n", key); + + key = "C"; + if (!cset_str_contains(&stringSet, key)) + printf("\"%s\" not found\n", key); + else + printf("Found \"%s\"\n", key); + + // now iterating over whole set and printing its + // content + printf("All elements :\n"); + c_foreach (itr, cset_str, stringSet) + printf("%s\n", itr.ref->str); + } +} -- cgit v1.2.3