glib/docs/reference/glib
Emmanuele Bassi 9e5a53d576 Add reference counting types
We have a common pattern for reference counting in GLib, but we always
implement it with ad hoc code. This is a good chance at trying to
standardise the implementation and make it public, so that other code
using GLib can take advantage of shared behaviour and semantics.

Instead of simply taking an integer variable, we should create type
aliases, to immediately distinguish the reference counting semantics of
the code; we can handle mixing atomic reference counting with a
non-atomic type (and vice versa) by using differently signed values for
the atomic and non-atomic cases.

The gatomicrefcount type is modelled on the Linux kernel refcount_t
type; the grefcount type is added to let single-threaded code bases to
avoid paying the price of atomic memory barriers on reference counting
operations.
2018-06-11 14:59:39 +01:00
..
xml meson: Build all docs 2017-07-13 19:03:39 -04:00
building.xml build: Remove the --disable-mem-pools build option and the DISABLE_MEM_POOLS macro 2018-06-02 09:45:55 +02:00
changes.xml docs: Use latest docbook dtd: 4.5 2012-04-23 02:46:18 +01:00
compiling.xml compiling.xml: Add note and fix gcc example 2012-08-15 02:34:50 +09:00
cross.xml spelling fixes of 'runtine' and 'adresses' in cross.xml and running.xml, respectively 2013-05-23 22:11:50 -04:00
file-name-encodings.png Huh? This was a 6-byte file. Replaced it with the correct one. 2006-01-12 19:47:02 +00:00
file-name-encodings.sxd Replaced with the correct file. 2006-01-12 19:49:32 +00:00
glib-docs.xml Add reference counting types 2018-06-11 14:59:39 +01:00
glib-gettextize.xml docs: Improve man page consistency 2012-08-03 23:36:45 -04:00
glib-overrides.txt docs: fix bogus override for GIConv 2017-10-27 12:06:41 +01:00
glib-sections.txt Add reference counting types 2018-06-11 14:59:39 +01:00
glib.types Add explicit path to tmpl files in dependencies. 2001-04-03 18:27:08 +00:00
gtester-report.xml Document all gtester-report options 2013-05-04 21:10:43 -04:00
gtester.xml docs: Improve man page consistency 2012-08-03 23:36:45 -04:00
gvariant-text.xml More consistent doc formatting 2011-11-12 21:54:42 -05:00
gvariant-varargs.xml gvariant: Add g_variant_get() example for dicts 2017-09-11 09:46:21 +01:00
mainloop-states.eps add images 2000-12-05 20:43:58 +00:00
mainloop-states.fig add images 2000-12-05 20:43:58 +00:00
mainloop-states.gif add images 2000-12-05 20:43:58 +00:00
mainloop-states.png add images 2000-12-05 20:43:58 +00:00
Makefile.am Add mingw64 cross build CI 2018-05-28 09:22:55 -04:00
meson.build Add mingw64 cross build CI 2018-05-28 09:22:55 -04:00
programming.xml docs: fix grammar in Writing GLib Applications/Threads 2016-01-31 12:54:28 -05:00
regex-syntax.xml docs: trivial typo fixes 2016-07-16 20:32:16 -04:00
resources.xml docs: Use latest docbook dtd: 4.5 2012-04-23 02:46:18 +01:00
running.xml gmessages: clarify what log levels are for 2018-04-23 13:01:17 +01:00
Sorted_binary_tree_breadth-first_traversal.svg More GTree and GNode formatting and documentation fixes 2014-01-19 23:49:12 -05:00
Sorted_binary_tree_inorder.svg More GTree and GNode formatting and documentation fixes 2014-01-19 23:49:12 -05:00
Sorted_binary_tree_postorder.svg More GTree and GNode formatting and documentation fixes 2014-01-19 23:49:12 -05:00
Sorted_binary_tree_preorder.svg More GTree and GNode formatting and documentation fixes 2014-01-19 23:49:12 -05:00
version.xml.in Add version info to API docs. 2002-11-23 01:37:17 +00:00