Logo AND Algorithmique Numérique Distribuée

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