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
28 /** @defgroup XBT_syscall Malloc and friends
29 * @brief malloc and associated functions, killing the program on error
35 /** @defgroup XBT_ex Exception support
36 * @brief A set of macros providing exception a la C++ in ANSI C (grounding feature)
39 /** @defgroup XBT_log Logging support
40 * @brief A generic logging facility in the spirit of log4j (grounding feature)
44 /** \defgroup XBT_log_cats Existing log categories
46 * \brief (automatically extracted)
48 * This is the list of all existing log categories in SimGrid.
49 * This list was automatically extracted from the source code by
50 * the src/xbt_log_extract_hierarchy utility.
52 * You can thus be certain that it is uptodate, but it may somehow
53 * lack a final manual touch.
54 * Anyway, nothing's perfect ;)
59 /** @defgroup XBT_error Assert macro familly
60 * @brief Those are the GRAS version of the good ol' assert macro. You can pass them a format message and
61 * arguments, just as if it where a printf. It is converted to a CRITICALn logging request.
64 /** @defgroup XBT_config Configuration support
65 * @brief Changing the configuration of SimGrid components (grounding feature)
71 /** @defgroup XBT_dynar A generic dynamic array
72 * @brief DynArr are dynamically sized vector which may contain any type of variables.
75 /** @defgroup XBT_dict A generic dictionnary
76 * @brief The dictionnary data structure (comparable to hash tables)
79 /** \defgroup XBT_set A generic set datatype
80 * \brief A data container consisting in \ref XBT_dict and \ref XBT_dynar
83 /** \defgroup XBT_fifo A generic workqueue
84 * \brief This section describes the API to generic workqueue. These functions
85 * provide the same kind of functionnality as dynamic arrays but in time O(1).
86 * However these functions use malloc/free way too much often.
89 /** @defgroup XBT_swag A O(1) set datatype
90 * @brief a O(1) set based on linked lists
93 /** \addtogroup XBT_heap
96 /* ************************* *
97 * * PORTABILITY-INTERNALS * *
98 * ************************* */
100 /** \defgroup XBT_context Portable context implementation
101 * \brief Contexts are a higher level system than <tt>setjump/longjmp</tt>
102 * for non-preemptible threads.
104 * You shouldn't use it directly since it is merly intended to ease the
105 * implementation of the serveral programmation environment of the
106 * SimGrid toolkit (nammely, \ref MSG_API, \ref GRAS_API and \ref SMPI_API).
108 * You should use those mechanism instead.