- 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
- 
Data Checksums — Computes the checksum for data
- 
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
- 
File Utilities — various file-related functions
- 
URI Functions — URI 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
- 
Testing — a test framework
- 
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
- 
gtester — test running utility
- 
gtester-report — test report formatting 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
- Index of new symbols in 2.16
- Index of new symbols in 2.18
- Index of new symbols in 2.20