diff options
| author | Tyge Løvset <[email protected]> | 2021-06-09 09:41:55 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-06-09 09:41:55 +0200 |
| commit | 9d4e5a630d24f93540259a1ea484e1f0aa245095 (patch) | |
| tree | abf408a2c00f9f8f37fb825552b945c5c99e9fa9 | |
| parent | e9bb6c5f86f7129d2695e43ef5842e3d9c06c372 (diff) | |
| download | STC-modified-9d4e5a630d24f93540259a1ea484e1f0aa245095.tar.gz STC-modified-9d4e5a630d24f93540259a1ea484e1f0aa245095.zip | |
Updated header example.
| -rw-r--r-- | include/stc/csptr.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/include/stc/csptr.h b/include/stc/csptr.h index 4b35e98c..02518869 100644 --- a/include/stc/csptr.h +++ b/include/stc/csptr.h @@ -25,30 +25,29 @@ #include "ccommon.h"
-/* csptr: std::shared_ptr -like type:
+/* csptr: shared_ptr type
#include <stc/csptr.h>
#include <stc/cstr.h>
typedef struct { cstr name, last; } Person;
-Person* Person_make(Person* p, const char* name, const char* last) {
- p->name = cstr_from(name), p->last = cstr_from(last);
- return p;
+Person Person_init(const char* name, const char* last) {
+ return (Person){.name = cstr_from(name), .last = cstr_from(last)};
}
void Person_del(Person* p) {
- printf("del: %s\n", p->name.str);
+ printf("del: %s %s\n", p->name.str, p->last.str);
c_del(cstr, &p->name, &p->last);
}
-using_csptr(pe, Person, c_no_compare, Person_del);
+using_csptr(person, Person, c_no_compare, Person_del);
int main() {
- csptr_pe p = csptr_pe_from(Person_make(c_new(Person), "John", "Smiths"));
- csptr_pe q = csptr_pe_clone(p); // share the pointer
+ csptr_person p = csptr_person_make(Person_init("John", "Smiths"));
+ csptr_person q = csptr_person_clone(p); // share the pointer
printf("%s %s. uses: %zu\n", q.get->name.str, q.get->last.str, *q.use_count);
- c_del(csptr_pe, &p, &q);
+ c_del(csptr_person, &p, &q);
}
*/
typedef long atomic_count_t;
|
