-
Memory Slices — efficient way to allocate groups of equal-sized chunks of memory
-
Memory Chunks — deprecated way to allocate groups of equal-sized
chunks of memory
-
Doubly-Linked Lists — linked lists containing integer values or
pointers to data, with the ability to iterate
over the list in both directions
-
Singly-Linked Lists — linked lists containing integer values or
pointers to data, limited to iterating over the
list 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, which grow automatically as
elements are added
-
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
-
Relations and Tuples — tables of data which can be indexed on any
number of fields
-
Caches — caches allow sharing of complex data structures
to save resources
-
Memory Allocators — deprecated way to allocate chunks of memory for
GList, GSList and GNode
-
GVariantType — introduction to the GVariant type system
-
GVariant — strongly typed value datatype
-
GVariant Format Strings