GLib Data Types

Doubly-Linked Lists — linked lists that can be iterated over in both directions
Singly-Linked Lists — linked lists that can be iterated in one direction
Double-ended Queues — double-ended queue data structure
Sequences — scalable lists
Trash Stacks — maintain a stack of unused allocated memory chunks
Hash Tables — associations between keys and values so that given a key the value can be found quickly
Strings — text buffers which grow automatically as text is added
String Chunks — efficient storage of groups of strings
Arrays — arrays of arbitrary elements which grow automatically as elements are added
Pointer Arrays — arrays of pointers to any type of data, which grow automatically as new elements are added
Byte Arrays — arrays of bytes
Balanced Binary Trees — a sorted collection of key/value pairs optimized for searching and traversing in order
N-ary Trees — trees of data with any number of branches
Quarks — a 2-way association between a string and a unique integer identifier
Keyed Data Lists — lists of data elements which are accessible by a string or GQuark identifier
Datasets — associate groups of data elements with particular memory locations
GVariantType — introduction to the GVariant type system
GVariant — strongly typed value datatype
GVariant Format Strings — varargs conversion of GVariants
GVariant Text Format — textual representation of GVariants
Reference counting — Reference counting types and functions
Reference counted data — Allocated memory with reference counting semantics
Atomically reference counted data — Allocated memory with atomic reference counting semantics
Reference counted strings — Strings with reference counted memory management