Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
f2421b6afe1c094e8fce2613b121dcec2561af18
[simgrid.git] / doc / doxygen / module-xbt.doc
1 /** @addtogroup XBT_API
2
3    The XBT functionalities fall into several categories:
4     - Portability support
5       - \ref XBT_syscall
6       - \ref XBT_str
7       - \ref XBT_file
8     - Grounding features
9       - \ref XBT_ex
10       - \ref XBT_ex_c
11       - \ref XBT_log
12       - \ref XBT_error
13       - \ref XBT_config
14       - \ref XBT_mallocator
15       - \ref XBT_cunit
16     - Data structures
17       - \ref XBT_dynar
18       - \ref XBT_dict
19       - \ref XBT_set
20         Data are associated to both an ID (0(1) search) and a name
21       - \ref XBT_fifo
22       - \ref XBT_swag
23       - \ref XBT_heap
24       - \ref XBT_peer
25       - @ref xbt_strbuff
26     - \ref XBT_misc
27       - \ref XBT_graph
28
29   @{ */
30    /** @defgroup XBT_grounding   Grounding features */
31    /** @defgroup XBT_adt         Usual data structures */
32    /** @defgroup XBT_misc        Miscellaneous */
33 /** @} */
34
35
36 ########################################################################
37
38
39 /** @addtogroup XBT_grounding
40
41   Grounding features are the basement of SimGrid. You'll find portable (and
42   secure) wrappers to the malloc-like functions, logging support, error
43   reporting features, etc.
44
45   @{ */
46
47      /** @defgroup XBT_syscall Malloc and friends */
48      /** @defgroup XBT_str     String related functions */
49      /** @defgroup XBT_ex     Exception support (C++) */
50      /** @defgroup XBT_ex_c   Exception support (C)   */
51      /** @defgroup XBT_log    Logging support */
52      /** @defgroup XBT_error  Assert macro familly */
53      /** @defgroup XBT_config Configuration support */
54      /** @defgroup XBT_mallocator Mallocators */
55      /** @defgroup XBT_cunit      Unit testing support */
56 /** @} */
57
58
59
60
61 ########################################################################
62
63 /** @addtogroup XBT_adt
64
65   Here are the basic data containers that every C programmer rewrites one day.
66   You won't need to do so yourself, you lucky one, because we did it for you.
67   However, if you are programming in C++ you might want to use C++ containers
68   instead.
69
70   @{ */
71      /** @defgroup XBT_dynar  Dynar: generic dynamic array */
72      /** @defgroup XBT_dict   Dict: generic dictionnary */
73      /** @defgroup XBT_fifo   Fifo: generic workqueue */
74      /** @defgroup XBT_swag   Swag: O(1) set datatype */
75      /** @defgroup XBT_heap Heap: generic heap data structure */
76 /** @} */
77
78
79 ########################################################################
80
81 /** @addtogroup XBT_misc
82
83   Here are several general purposes library components designed specially
84   for you, you lucky one.
85
86
87   @{ */
88      /** @defgroup XBT_graph General purpose graph library */
89      /** @defgroup XBT_parmap Parallel map */    
90      /** @defgroup XBT_peer Peer */     
91      /** @defgroup XBT_synchro Simulated Synchronization */     
92      /** @defgroup XBT_thread Thread stuff */   
93      /** @defgroup XBT_context Portable context implementation */               
94      /** @defgroup XBT_replay Replay */
95 /** @} */ 
96
97 /* ************************* *
98  * * PORTABILITY-INTERNALS * * (not included in documentation)
99  * ************************* */
100
101  /** \addtogroup XBT_context Portable context implementation
102   *  \brief Contexts are a higher level system than <tt>setjump/longjmp</tt>
103   *  for non-preemptible threads.
104   *
105   *  You shouldn't use it directly since it is merely intended to ease the
106   *  implementation of the several programmation environment of the
107   *  SimGrid toolkit (namely, \ref MSG_API and \ref SMPI_API).
108   *
109   *  You should use those environments instead.
110   */
111