Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
da1989c45ac1a67144897cc6763eefcccb2db8eb
[simgrid.git] / doc / module-xbt.doc
1 /** @addtogroup XBT_API
2  *
3  *  The XBT functionalities fall into several categories:
4  *   - Portability support. 
5  *     - \ref XBT_syscall
6  *   - Grounding features
7  *     - \ref XBT_ex
8  *     - \ref XBT_log
9  *     - \ref XBT_config
10  *   - Data structures
11  *     - \ref XBT_dynar 
12  *     - \ref XBT_dict
13  *     - \ref XBT_set 
14  *       Data are associated to both an ID (0(1) search) and a name
15  *     - \ref XBT_fifo
16  *     - \ref XBT_swag
17  *     - \ref XBT_heap
18  *
19  *  @{
20  */
21
22
23 /* *************** *
24  * * PORTABILITY * *
25  * *************** */
26
27     /** @defgroup XBT_syscall Malloc and friends
28      *  @brief malloc and associated functions, killing the program on error
29      */
30
31 /* ************* *
32  * * GROUNDING * *
33  * ************* */
34     /** @defgroup XBT_ex Exception support
35      *  @brief A set of macros providing exception a la C++ in ANSI C (grounding feature)
36      */
37
38     /** @defgroup XBT_log Logging support
39      *  @brief A generic logging facility in the spirit of log4j (grounding feature)
40      *  @{
41      */
42
43         /** \defgroup XBT_log_cats Existing log categories
44          *  \ingroup XBT_log
45          *  \brief (automatically extracted) 
46          *     
47          *  This is the list of all existing log categories in SimGrid.
48          *  This list was automatically extracted from the source code by
49          *  the src/xbt_log_extract_hierarchy utility.
50          *     
51          *  You can thus be certain that it is uptodate, but it may somehow
52          *  lack a final manual touch.
53          *  Anyway, nothing's perfect ;)
54          */
55
56     /** @} */
57
58     /** @defgroup XBT_config Configuration support
59      *  @brief Changing the configuration of SimGrid components (grounding feature)
60      */
61
62 /* **************** *
63  * * DATA STRUCTS * *
64  * **************** */
65     /** @defgroup XBT_dynar A generic dynamic array
66      *  @brief DynArr are dynamically sized vector which may contain any type of variables.
67      */
68
69     /** @defgroup XBT_dict A generic dictionnary
70      *  @brief The dictionnary data structure (comparable to hash tables)
71      */
72     
73     /** \defgroup XBT_set A generic set datatype
74      * \brief A data container consisting in \ref XBT_dict and \ref XBT_dynar
75      */
76     
77     /** \defgroup XBT_fifo A generic workqueue
78       *  \brief This section describes the API to generic workqueue. These functions
79       *   provide the same kind of functionnality as dynamic arrays but in time O(1). 
80       *   However these functions use malloc/free way too much often.
81       */
82           
83     /** @defgroup XBT_swag A O(1) set datatype
84      *  @brief a O(1) set based on linked lists
85      */
86           
87 /**       \addtogroup XBT_heap
88           \ingroup XBT_API */
89
90 /* ************************* *
91  * * PORTABILITY-INTERNALS * *
92  * ************************* */
93
94  /** \defgroup XBT_context Portable context implementation
95   *  \brief Contexts are a higher level system than <tt>setjump/longjmp</tt> 
96   *  for non-preemptible threads.
97   *
98   *  You shouldn't use it directly since it is merly intended to ease the 
99   *  implementation of the serveral programmation environment of the 
100   *  SimGrid toolkit (nammely, \ref MSG_API, \ref GRAS_API and \ref SMPI_API).
101   *
102   *  You should use those mechanism instead.
103   */