Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Need to set DIR_IS_LINK for use pwd -P
[simgrid.git] / doc / module-xbt.doc
index 7093463..c2ab8c8 100644 (file)
@@ -1,97 +1,95 @@
 /** @addtogroup XBT_API
- *
- *   - Portability support. 
- *     - \ref XBT_syscall
- *   - Grounding features
- *     - \ref XBT_log
- *     - \ref XBT_error
- *     - \ref XBT_config
- *   - Data structures
- *     - \ref XBT_dynar 
- *     - \ref XBT_dict
- *     - \ref XBT_set 
- *       Data are associated to both an ID (0(1) search) and a name
- *     - \ref XBT_fifo
- *     - \ref XBT_swag
- *     - \ref XBT_heap
- *
- *  @{
- */
+   The XBT functionalities fall into several categories:
+    - Portability support
+      - \ref XBT_syscall
+      - \ref XBT_str
+    - Grounding features
+      - \ref XBT_ex
+      - \ref XBT_log
+      - \ref XBT_error
+      - \ref XBT_config
+      - \ref XBT_mallocator
+    - Data structures
+      - \ref XBT_dynar 
+      - \ref XBT_dict
+      - \ref XBT_set 
+        Data are associated to both an ID (0(1) search) and a name
+      - \ref XBT_fifo
+      - \ref XBT_swag
+      - \ref XBT_heap
+    - \ref XBT_misc
+      - \ref XBT_graph
+  @{ */
+   /** @defgroup XBT_grounding   Grounding features */
+   /** @defgroup XBT_adt         Usual data structures */
+   /** @defgroup XBT_misc        Misc general purposes library components */
+/** @} */
 
 
-/* *************** *
- * * PORTABILITY * *
- * *************** */
+########################################################################
 
-    /** @defgroup XBT_syscall Malloc and friends
-     *  @brief malloc and associated functions, killing the program on error
-     */
 
-/* ************* *
- * * GROUNDING * *
- * ************* */
-    /** @defgroup XBT_log Logging support
-     *  @brief A generic logging facility in the spirit of log4j (grounding feature)
-     *  @{
-     */
+/** @addtogroup XBT_grounding 
+  Grounding features are the basement of SimGrid. You'll find portable (and
+  secure) wrappers to the malloc-like functions, logging support, error
+  reporting features, etc.
+  @{ */
 
-       /** \defgroup XBT_log_cats Existing log categories
-        *  \ingroup XBT_log
-        *  \brief (automatically extracted) 
-        *     
-        *  This is the list of all existing log categories in SimGrid.
-         *  This list was automatically extracted from the source code by
-         *  the src/xbt_log_extract_hierarchy utility.
-        *     
-         *  You can thus be certain that it is uptodate, but it may somehow
-         *  lack a final manual touch.
-        *  Anyway, nothing's perfect ;)
-        */
+     /** @defgroup XBT_syscall Malloc and friends */
+     /** @defgroup XBT_str     String related functions */
+     /** @defgroup XBT_ex     Exception support */
+     /** @defgroup XBT_log    Logging support */
+     /** @defgroup XBT_error  Assert macro familly */
+     /** @defgroup XBT_config Configuration support */
+     /** @defgroup XBT_mallocator Mallocators */
+/** @} */
 
-    /** @} */
 
+########################################################################
 
-    /** @defgroup XBT_error Error tracking support
-     *  @brief A set of macros easing the handling of errors (grounding feature)
-     */
+/** @addtogroup XBT_adt
+  Here are the basic data containers that every C programmer rewrites one day.
+  You won't need to do so yourself, you lucky one, because we did it for you.
+  @{ */
+     /** @defgroup XBT_dynar  Dynar: generic dynamic array */
+     /** @defgroup XBT_dict   Dict: generic dictionnary */
+     /** @defgroup XBT_set    Set: generic set datatype */
+     /** @defgroup XBT_fifo   Fifo: generic workqueue */
+     /** @defgroup XBT_swag   Swag: O(1) set datatype */
+     /** @defgroup XBT_heap Heap: generic heap data structure */
+/** @} */ 
 
-    /** @defgroup XBT_config Configuration support
-     *  @brief Changing the configuration of SimGrid components (grounding feature)
-     */
 
-/* **************** *
- * * DATA STRUCTS * *
- * **************** */
-    /** @defgroup XBT_dynar A generic dynamic array
-     *  @brief DynArr are dynamically sized vector which may contain any type of variables.
-     */
+########################################################################
 
-    /** @defgroup XBT_dict A generic dictionnary
-     *  @brief The dictionnary data structure (comparable to hash tables)
-     */
-    
-    /** \defgroup XBT_set A generic set datatype
-     * \brief A data container consisting in \ref XBT_dict and \ref XBT_dynar
-     */
-    
-/**       \addtogroup XBT_fifo
-          \ingroup XBT_API */
-/**        \addtogroup XBT_swag
-          \ingroup XBT_API */
-/**       \addtogroup XBT_heap
-          \ingroup XBT_API */
+/** @addtogroup XBT_misc
+  Here are several general purposes library components designed specially
+  for you, you lucky one.
+
+  @{ */
+     /** @defgroup XBT_graph General purpose graph library */
+/** @} */ End of XBT_misc
 
 /* ************************* *
- * * PORTABILITY-INTERNALS * *
+ * * PORTABILITY-INTERNALS * * (not included in documentation)
  * ************************* */
 
  /** \defgroup XBT_context Portable context implementation
   *  \brief Contexts are a higher level system than <tt>setjump/longjmp</tt> 
   *  for non-preemptible threads.
   *
-  *  You shouldn't use it directly since it is merly intended to ease the 
-  *  implementation of the serveral programmation environment of the 
-  *  SimGrid toolkit (nammely, \ref MSG_API, \ref GRAS_API and \ref SMPI_API).
+  *  You shouldn't use it directly since it is merely intended to ease the 
+  *  implementation of the several programmation environment of the 
+  *  SimGrid toolkit (namely, \ref MSG_API, \ref GRAS_API and \ref SMPI_API).
   *
-  *  You should use those mechanism instead.
+  *  You should use those environments instead.
   */
+