Imported Upstream version 2.1.3
[abartlet/talloc-debian.git] / doc / tutorial_introduction.dox
1 /**
2 @page libtalloc_tutorial The Tutorial
3 @section introduction Introduction
4
5 Talloc is a hierarchical, reference counted memory pool system with destructors.
6 It is built atop the C standard library and it defines a set of utility
7 functions that altogether simplifies allocation and deallocation of data,
8 especially for complex structures that contain many dynamically allocated
9 elements such as strings and arrays.
10
11 The main goals of this library are: removing the needs for creating a cleanup
12 function for every complex structure, providing a logical organization of
13 allocated memory blocks and reducing the likelihood of creating memory leaks in
14 long-running applications. All of this is achieved by allocating memory in a
15 hierarchical structure of talloc contexts such that deallocating one context
16 recursively frees all of its descendants as well.
17
18 @section main-features Main features
19 - An open source project
20 - A hierarchical memory model
21 - Natural projection of data structures into the memory space
22 - Simplifies memory management of large data structures
23 - Automatic execution of a destructor before the memory is freed
24 - Simulates a dynamic type system
25 - Implements a transparent memory pool
26
27 @section toc Table of contents:
28
29 @subpage libtalloc_context
30
31 @subpage libtalloc_stealing
32
33 @subpage libtalloc_dts
34
35 @subpage libtalloc_destructors
36
37 @subpage libtalloc_pools
38
39 @subpage libtalloc_debugging
40
41 @subpage libtalloc_bestpractices
42
43 @subpage libtalloc_threads
44
45 */