summaryrefslogtreecommitdiffhomepage
path: root/misc/examples/complex.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/complex.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/complex.c')
-rw-r--r--misc/examples/complex.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/misc/examples/complex.c b/misc/examples/complex.c
deleted file mode 100644
index 4eb1574b..00000000
--- a/misc/examples/complex.c
+++ /dev/null
@@ -1,49 +0,0 @@
-
-// Define similar c++ data types:
-//
-// using FloatStack = std::stack<float>;
-// 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_key float
-#include <stc/cstack.h>
-
-#define i_type StackList
-#define i_keyclass FloatStack // "class" picks up _clone, _drop, _cmp
-#define i_opt c_no_cmp // exclude FloatStack_cmp(): not defined
-#include <stc/clist.h>
-
-#define i_type ListMap
-#define i_key int
-#define i_valclass StackList // "class" picks up _clone, _drop
-#include <stc/cmap.h>
-
-#define i_type MapMap
-#define i_key_str
-#define i_valclass ListMap
-#include <stc/cmap.h>
-
-
-int main(void)
-{
- MapMap mmap = {0};
-
- // Put in some data in the structures
- ListMap* lmap = &MapMap_emplace(&mmap, "first", ListMap_init()).ref->second;
- StackList* list = &ListMap_insert(lmap, 42, StackList_init()).ref->second;
- FloatStack* stack = StackList_push_back(list, FloatStack_with_size(10, 0));
- stack->data[3] = 3.1415927f;
- printf("stack size: %" c_ZI "\n", FloatStack_size(stack));
-
- // Access the data entry
- const ListMap* lmap_p = MapMap_at(&mmap, "first");
- const StackList* list_p = ListMap_at(lmap_p, 42);
- const FloatStack* stack_p = StackList_back(list_p);
- printf("value is: %f\n", (double)*FloatStack_at(stack_p, 3)); // pi
-
- MapMap_drop(&mmap);
-}