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