- GLib Overview
- 
- 
Compiling the GLib package — 
How to compile GLib itself
- 
Cross-compiling the GLib package — 
How to cross-compile GLib
- 
Compiling GLib Applications — 
How to compile your GLib application
- 
Running GLib Applications — 
How to run and debug your GLib application
- 
Changes to GLib — 
Incompatible changes made between successing versions of GLib
- 
Regular expression syntax — 
Syntax and semantics of the regular expressions supported by GRegex
- 
Mailing lists and bug reports — 
Getting help with GLib
 
- GLib Fundamentals
- 
- 
Version Information — Variables and functions to check the GLib version
- 
Basic Types — standard GLib types, defined for ease-of-use and portability.
- 
Limits of Basic Types — portable method of determining the limits of the standard types.
- 
Standard Macros — commonly-used macros.
- 
Type Conversion Macros — 
portably storing integers in pointer variables.
- 
Byte Order Macros — a portable way to convert between different byte orders.
- 
Numerical Definitions — mathematical constants, and floating point decomposition.
- 
Miscellaneous Macros — specialized macros which are not used often.
- 
Atomic Operations — basic atomic integer and pointer operations
 
- GLib Core Application Support
- 
- 
The Main Event Loop — manages all available sources of events.
- 
Threads — 
thread abstraction; including threads, different mutexes, conditions
and thread private data.
- 
Thread Pools — pools of threads to execute work concurrently.
- 
Asynchronous Queues — asynchronous communication between threads.
- 
Dynamic Loading of Modules — portable method for dynamically loading 'plug-ins'.
- 
Memory Allocation — general memory-handling.
- 
IO Channels — portable support for using files, pipes and sockets.
- 
Error Reporting — a system for reporting errors.
- 
Message Output and Debugging Functions — functions to output messages and help debug applications.
- 
Message Logging — versatile support for logging messages with different levels of importance.
 
- GLib Utilities
- 
- 
String Utility Functions — various string-related functions.
- 
Character Set Conversion — convert strings between different character sets using iconv()
- 
Unicode Manipulation — functions operating on Unicode characters and UTF-8 strings.
- 
Base64 Encoding — encodes and decodes data in Base64 format
- 
Internationalization — gettext support macros.
- 
Date and Time Functions — calendrical calculations and miscellaneous time stuff.
- 
Random Numbers — pseudo-random number generator.
- 
Hook Functions — support for manipulating lists of hook functions.
- 
Miscellaneous Utility Functions — a selection of portable utility functions.
- 
Lexical Scanner — a general purpose lexical scanner.
- 
Automatic String Completion — support for automatic completion using a group of target strings.
- 
Timers — 
keep track of elapsed time.
- 
Spawning Processes — process launching with fork()/exec().
- 
File Utilities — various file-related functions.
- 
Shell-related Utilities — shell-like commandline handling.
- 
Commandline option parser — parses commandline options
- 
Glob-style pattern matching — matches strings against patterns containing '*' (wildcard) and '?' (joker).
- 
Perl-compatible regular expressions — matches strings against regular expressions.
- 
Simple XML Subset Parser — parses a subset of XML.
- 
Key-value file parser — parses .ini-like config files
- 
Bookmark file parser — parses files containing bookmarks
- 
Windows Compatibility Functions — UNIX emulation on Windows.
 
- GLib Data Types
- 
- 
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.
 
- GLib Tools
- 
glib-gettextize — gettext internationalization utility
 
- Index
- Index of deprecated symbols
- Index of new symbols in 2.2
- Index of new symbols in 2.4
- Index of new symbols in 2.6
- Index of new symbols in 2.8
- Index of new symbols in 2.10
- Index of new symbols in 2.12
- Index of new symbols in 2.14