diff options
author | neonloop | 2021-05-07 20:00:12 +0000 |
---|---|---|
committer | neonloop | 2021-05-07 20:00:12 +0000 |
commit | 7f6002caba3f0a6749820c2772161caf55b8d267 (patch) | |
tree | 1ed4bdd8c9ac897d1a3f77c223c1fd286dded458 /src/libs/uio/doc/conventions | |
download | uqm-7f6002caba3f0a6749820c2772161caf55b8d267.tar.gz uqm-7f6002caba3f0a6749820c2772161caf55b8d267.tar.bz2 uqm-7f6002caba3f0a6749820c2772161caf55b8d267.zip |
Initial commit (uqm-0.8.0)
Diffstat (limited to 'src/libs/uio/doc/conventions')
-rw-r--r-- | src/libs/uio/doc/conventions | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/libs/uio/doc/conventions b/src/libs/uio/doc/conventions new file mode 100644 index 0000000..f156101 --- /dev/null +++ b/src/libs/uio/doc/conventions @@ -0,0 +1,30 @@ +This file describes the various conventions used in the source. + + +-= Naming of constructors and destructors =- + +uio_Thing *uio_Thing_new(args) + Allocates the structure, and initialises it from the arguments. + Arguments are always used as-is; if they are reference-counted, + and the caller still needs a reference, it is up to the caller + to increment the reference counter. +void uio_Thing_delete(uio_Thing *thing) + Frees the structure and all sub-structures. + Decrements reference counters to shared structures. +uio_Thing *uio_Thing_alloc() + Allocates memory for a new structure. + Could be omited for standard allocators. + Particularly relevant when a non-standard allocation scheme is + used (for instance, allocation from a pool of pre-allocated strucures). +void uio_Thing_free(Thing *thing) + Frees the memory allocated for thing (reverse of uio_Thing_alloc). + Could be omited for standard deallocators. +void uio_Thing_ref(Thing *thing) + Increments the reference counter to the structure. +void uio_Thing_unref(Thing *thing) + Decrements the reference counter to the structure. + Calls uio_Thing_Delete() if the refcounter becomes 0. + +These functions are always declared and defined in this order. + + |