1 /** @addtogroup XBT_API
3 * The XBT functionalities fall into several categories:
4 * - Portability support.
14 * Data are associated to both an ID (0(1) search) and a name
27 /** @defgroup XBT_syscall Malloc and friends
28 * @brief malloc and associated functions, killing the program on error
34 /** @defgroup XBT_ex Exception support
35 * @brief A set of macros providing exception a la C++ in ANSI C (grounding feature)
38 /** @defgroup XBT_log Logging support
39 * @brief A generic logging facility in the spirit of log4j (grounding feature)
43 /** \defgroup XBT_log_cats Existing log categories
45 * \brief (automatically extracted)
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.
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 ;)
58 /** @defgroup XBT_config Configuration support
59 * @brief Changing the configuration of SimGrid components (grounding feature)
65 /** @defgroup XBT_dynar A generic dynamic array
66 * @brief DynArr are dynamically sized vector which may contain any type of variables.
69 /** @defgroup XBT_dict A generic dictionnary
70 * @brief The dictionnary data structure (comparable to hash tables)
73 /** \defgroup XBT_set A generic set datatype
74 * \brief A data container consisting in \ref XBT_dict and \ref XBT_dynar
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.
83 /** @defgroup XBT_swag A O(1) set datatype
84 * @brief a O(1) set based on linked lists
87 /** \addtogroup XBT_heap
90 /* ************************* *
91 * * PORTABILITY-INTERNALS * *
92 * ************************* */
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.
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).
102 * You should use those mechanism instead.