Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
d2ce9de344b20a47bb487d3d1f06f941246b1a55
[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_swag
20     - \ref XBT_misc
21       - \ref XBT_graph
22
23   @{ */
24    /** @defgroup XBT_grounding   Grounding features */
25    /** @defgroup XBT_adt         Usual data structures */
26    /** @defgroup XBT_misc        Miscellaneous */
27 /** @} */
28
29
30 ########################################################################
31
32
33 /** @addtogroup XBT_grounding
34
35   Grounding features are the basement of SimGrid. You'll find portable (and
36   secure) wrappers to the malloc-like functions, logging support, error
37   reporting features, etc.
38
39   @{ */
40
41      /** @defgroup XBT_syscall Malloc and friends */
42      /** @defgroup XBT_str     String related functions */
43      /** @defgroup XBT_ex     Exception support (C++) */
44      /** @defgroup XBT_ex_c   Exception support (C)   */
45      /** @defgroup XBT_log    Logging support */
46      /** @defgroup XBT_error  Assert macro familly */
47      /** @defgroup XBT_config Configuration support */
48      /** @defgroup XBT_mallocator Mallocators */
49      /** @defgroup XBT_cunit      Unit testing support */
50 /** @} */
51
52
53
54
55 ########################################################################
56
57 /** @addtogroup XBT_adt
58
59   Here are the basic data containers that every C programmer rewrites one day.
60   You won't need to do so yourself, you lucky one, because we did it for you.
61   However, if you are programming in C++ you might want to use C++ containers
62   instead.
63
64   @{ */
65      /** @defgroup XBT_dynar  Dynar: generic dynamic array */
66      /** @defgroup XBT_dict   Dict: generic dictionnary */
67      /** @defgroup XBT_swag   Swag: O(1) set datatype */
68 /** @} */
69
70
71 ########################################################################
72
73 /** @addtogroup XBT_misc
74
75   Here are several general purposes library components designed specially
76   for you, you lucky one.
77
78
79   @{ */
80      /** @defgroup XBT_graph General purpose graph library */
81      /** @defgroup XBT_parmap Parallel map */    
82      /** @defgroup XBT_synchro Simulated Synchronization */     
83      /** @defgroup XBT_thread Thread stuff */   
84      /** @defgroup XBT_context Portable context implementation */               
85      /** @defgroup XBT_replay Replay */
86 /** @} */ 
87
88 /* ************************* *
89  * * PORTABILITY-INTERNALS * * (not included in documentation)
90  * ************************* */
91
92  /** \addtogroup XBT_context Portable context implementation
93   *  \brief Contexts are a higher level system than <tt>setjump/longjmp</tt>
94   *  for non-preemptible threads.
95   *
96   *  You shouldn't use it directly since it is merely intended to ease the
97   *  implementation of the several programmation environment of the
98   *  SimGrid toolkit (namely, \ref MSG_API and \ref SMPI_API).
99   *
100   *  You should use those environments instead.
101   */
102