1 /** @addtogroup XBT_API
3 * The XBT functionalities fall into several categories:
4 * - Portability support
15 * Data are associated to both an ID (0(1) search) and a name
23 /** @defgroup XBT_grounding Grounding features */
24 /** @defgroup XBT_adt Usual data structures */
34 /** @addtogroup XBT_grounding
36 * Grounding features are the basement of SimGrid. You'll find portable (and
37 * secure) wrappers to the malloc-like functions, logging support, error
38 * reporting features, etc.
42 /** @defgroup XBT_syscall Malloc and friends */
43 /** @defgroup XBT_ex Exception support */
44 /** @defgroup XBT_log Logging support */
45 /** @defgroup XBT_error Assert macro familly */
46 /** @defgroup XBT_config Configuration support */
56 /** @addtogroup XBT_adt
58 * Here are the basic data containers that every C programmer rewrites one day.
59 * You won't need to do so yourself, you lucky one, because we did it for you.
63 /** @defgroup XBT_dynar Dynar: generic dynamic array */
64 /** @defgroup XBT_dict Dict: generic dictionnary */
65 /** @defgroup XBT_set Set: generic set datatype */
66 /** @defgroup XBT_fifo Fifo: generic workqueue */
67 /** @defgroup XBT_swag Swag: O(1) set datatype */
68 /** @defgroup XBT_heap Heap: generic heap data structure */
70 /** @} */ End of XBT_adt
72 /* ************************* *
73 * * PORTABILITY-INTERNALS * * (not included in documentation)
74 * ************************* */
76 /** \defgroup XBT_context Portable context implementation
77 * \brief Contexts are a higher level system than <tt>setjump/longjmp</tt>
78 * for non-preemptible threads.
80 * You shouldn't use it directly since it is merely intended to ease the
81 * implementation of the several programmation environment of the
82 * SimGrid toolkit (namely, \ref MSG_API, \ref GRAS_API and \ref SMPI_API).
84 * You should use those environments instead.