diff options
| author | Tyge Løvset <[email protected]> | 2020-10-01 23:10:45 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-10-01 23:10:45 +0200 |
| commit | b4561502823e9eb0c0f1160ea4cdb69118a86589 (patch) | |
| tree | 54dcddc12dceef8ac3cbb9d707008e71d7187534 | |
| parent | bd9178a0ad5626544d6a70e8438680bb21db97b0 (diff) | |
| parent | 9a68fcf0bfa1d0d0bc47c709cb094953b5cb3bff (diff) | |
| download | STC-modified-b4561502823e9eb0c0f1160ea4cdb69118a86589.tar.gz STC-modified-b4561502823e9eb0c0f1160ea4cdb69118a86589.zip | |
Merge branch 'master' of https://github.com/tylo-work/C99Containers into master
| -rw-r--r-- | README.md | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -37,16 +37,22 @@ int main(void) { cvec_i_del(&vec);
}
```
-It is easy to have more complex container element types:
+Using containers with complex element types is simple:
```C
#include <stc/cstr.h>
#include <stc/cvec.h>
-typedef struct { cstr_t name; int id; } User;
-void User_del(User* u) {cstr_del(&u->name);}
-int User_cmp(User* u, User* v) {int c = strcmp(u->name.str, v->name.str); return c != 0 ? c : u->id - v->id;}
+typedef struct {
+ cstr_t name; // dynamic string
+ int id;
+} User;
-using_cvec(u, User, User_del, User_cmp);
+void User_del(User* u)
+ { cstr_del(&u->name); }
+int User_compare(User* u, User* v)
+ { int c = strcmp(u->name.str, v->name.str); return c != 0 ? c : u->id - v->id; }
+
+using_cvec(u, User, User_del, User_compare);
int main(void) {
cvec_u vec = cvec_u_init();
|
