Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Continue doxygenification
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 7 Feb 2005 17:45:57 +0000 (17:45 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 7 Feb 2005 17:45:57 +0000 (17:45 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@896 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/gras/datadesc.h
src/gras/DataDesc/cbps.c
src/modules.doc

index 7181a7c..43c7952 100644 (file)
@@ -40,7 +40,7 @@ BEGIN_DECL()
  gras_datadesc_type_t uc = gras_datadesc_by_name("unsigned char");
  gras_datadesc_type_t str = gras_datadesc_by_name("string");\endverbatim
  */
  gras_datadesc_type_t uc = gras_datadesc_by_name("unsigned char");
  gras_datadesc_type_t str = gras_datadesc_by_name("string");\endverbatim
  */
-/** @{ */
+/* @{ */
   
 /** @brief Opaque type describing a type description. */
 typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
   
 /** @brief Opaque type describing a type description. */
 typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
@@ -48,15 +48,8 @@ typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
 /** \brief Search a type description from its name */
 gras_datadesc_type_t gras_datadesc_by_name(const char *name);
 
 /** \brief Search a type description from its name */
 gras_datadesc_type_t gras_datadesc_by_name(const char *name);
 
-
-/** @} */
-  
-/** @fn gras_datadesc_type_t gras_datadesc_parse(const char *name, const char *C_statement) 
- *  @ingroup GRAS_dd_implem 
- *
- *  Helper function doing the crude job of type parsing.
- */
-  
+/* @} */
+    
 /** @name b) Automatic parsing
  *  @ingroup GRAS_dd
  * 
 /** @name b) Automatic parsing
  *  @ingroup GRAS_dd
  * 
@@ -279,6 +272,22 @@ int gras_datadesc_get_id(gras_datadesc_type_t ddt);
  * 
  * Sometimes, one of the callbacks need to leave information for the next ones. If this is a simple integer (such as
  * an array size), you can use the functions described here. If not, you'll have to play with the complete cbps interface.
  * 
  * Sometimes, one of the callbacks need to leave information for the next ones. If this is a simple integer (such as
  * an array size), you can use the functions described here. If not, you'll have to play with the complete cbps interface.
+ * 
+ * Here is an example:\verbatim
+struct s_array {
+  int length;
+  int *data;
+}
+[...]
+my_type=gras_datadesc_struct("s_array");
+gras_datadesc_struct_append(my_type,"length", gras_datadesc_by_name("int"));
+gras_datadesc_cb_field_send (my_type, "length", gras_datadesc_cb_push_int);
+
+gras_datadesc_struct_append(my_type,"data",
+                            gras_datadesc_array_dyn ("s_array::data",gras_datadesc_by_name("int"), gras_datadesc_cb_pop));
+gras_datadesc_struct_close(my_type);
+\endverbatim
+
  */
 /*@{*/
 
  */
 /*@{*/
 
index 2086c65..7cb4252 100644 (file)
@@ -61,10 +61,9 @@ void gras_cbps_free(gras_cbps_t *state) {
   *state = NULL;
 }
 
   *state = NULL;
 }
 
-/**
- * gras_cbps_v_push:
+/** \brief Declare a new element in the PS, and give it a value.
  *
  *
- * Declare a new element in the PS, and give it a value. If an element of that
+ * If an element of that
  * name already exists, it is masked by the one given here, and will be 
  * seeable again only after a pop to remove the value this push adds.
  */
  * name already exists, it is masked by the one given here, and will be 
  * seeable again only after a pop to remove the value this push adds.
  */
@@ -104,10 +103,9 @@ gras_cbps_v_push(gras_cbps_t          ps,
   return no_error;
 }
 
   return no_error;
 }
 
-/**
- * gras_cbps_v_pop:
+/** \brief Retrieve an element from the PS, and remove it from the PS.
  *
  *
- * Retrieve an element from the PS, and remove it from the PS. If it's not
+ * If it's not
  * present in the current block, it will fail (with abort) and not search
  * in upper blocks since this denotes a programmation error.
  */
  * present in the current block, it will fail (with abort) and not search
  * in upper blocks since this denotes a programmation error.
  */
@@ -163,10 +161,8 @@ gras_cbps_v_pop (gras_cbps_t            ps,
   return no_error;
 }
 
   return no_error;
 }
 
-/**
- * gras_cbps_v_set:
- *
- * Change the value of an element in the PS.  
+/** \brief Change the value of an element in the PS.
+ * 
  * If it's not present in the current block, look in the upper ones.
  * If it's not present in any of them, modify in the globals
  * If not present there neither, the code may segfault (Oli?).
  * If it's not present in the current block, look in the upper ones.
  * If it's not present in any of them, modify in the globals
  * If not present there neither, the code may segfault (Oli?).
@@ -204,10 +200,8 @@ gras_cbps_v_set (gras_cbps_t          ps,
 
 }
 
 
 }
 
-/**
- * gras_cbps_v_get:
- *
- * Get the value of an element in the PS without modifying it. 
+/** \brief Get the value of an element in the PS without modifying it.
+ * 
  * (note that you get the content of the data struct and not a copy to it)
  * If it's not present in the current block, look in the upper ones.
  * If it's not present in any of them, look in the globals
  * (note that you get the content of the data struct and not a copy to it)
  * If it's not present in the current block, look in the upper ones.
  * If it's not present in any of them, look in the globals
@@ -235,10 +229,7 @@ gras_cbps_v_get (gras_cbps_t           ps,
 
 }
 
 
 }
 
-/**
- * gras_cbps_block_begin:
- *
- * Begins a new block. 
+/** \brief Begins a new block. 
  *
  * Blocks are usefull to remove a whole set of declarations you don't even know
  *
  *
  * Blocks are usefull to remove a whole set of declarations you don't even know
  *
@@ -259,11 +250,7 @@ gras_cbps_block_begin(gras_cbps_t ps) {
   xbt_dynar_push(ps->frames, &dynar);
 }
 
   xbt_dynar_push(ps->frames, &dynar);
 }
 
-/**
- * gras_cbps_block_end:
- *
- * End the current block, and go back to the upper one.
- */
+/** \brief End the current block, and go back to the upper one. */
 void
 gras_cbps_block_end(gras_cbps_t ps) {
 
 void
 gras_cbps_block_end(gras_cbps_t ps) {
 
@@ -298,22 +285,14 @@ gras_cbps_block_end(gras_cbps_t ps) {
 }
 
 
 }
 
 
-/**
- * gras_cbps_i_push:
- *
- * Push a new long integer value into the cbps.
- */
+/** \brief Push a new integer value into the cbps. */
 void
 gras_cbps_i_push(gras_cbps_t ps,
                 int val) {
   DEBUG1("push %d as a size",val);
   xbt_dynar_push_as(ps->lints,int,val);
 }
 void
 gras_cbps_i_push(gras_cbps_t ps,
                 int val) {
   DEBUG1("push %d as a size",val);
   xbt_dynar_push_as(ps->lints,int,val);
 }
-/**
- * gras_cbps_i_pop:
- *
- * Pop the lastly pushed long integer value from the cbps.
- */
+/** \brief Pop the lastly pushed integer value from the cbps. */
 int
 gras_cbps_i_pop(gras_cbps_t ps) {
   int ret;
 int
 gras_cbps_i_pop(gras_cbps_t ps) {
   int ret;
@@ -325,48 +304,33 @@ gras_cbps_i_pop(gras_cbps_t ps) {
   return ret;
 }
 
   return ret;
 }
 
-/**
- * gras_datadesc_cb_pop:
- *
- * Generic cb returning the lastly pushed value
+/** \brief Generic cb returning the lastly pushed value
+ * 
+ * Used by \ref gras_datadesc_ref_pop_arr
  */
 int gras_datadesc_cb_pop(gras_cbps_t vars, void *data) {
   return gras_cbps_i_pop(vars);
 }
 
  */
 int gras_datadesc_cb_pop(gras_cbps_t vars, void *data) {
   return gras_cbps_i_pop(vars);
 }
 
-/**
- * gras_datadesc_cb_push_int:
- * 
- * Cb to push an integer. Must be attached to the field you want to push
- */
+/** \brief Cb to push an integer. Must be attached to the field you want to push */
 void gras_datadesc_cb_push_int(gras_cbps_t vars, void *data) {
    int *i = (int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
 
 void gras_datadesc_cb_push_int(gras_cbps_t vars, void *data) {
    int *i = (int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
 
-/**
- * gras_datadesc_cb_push_uint:
- * 
- * Cb to push an unsigned integer. Must be attached to the field you want to push
- */
+/** \brief Cb to push an unsigned integer. Must be attached to the field you want to push */
 void gras_datadesc_cb_push_uint(gras_cbps_t vars, void *data) {
    unsigned int *i = (unsigned int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
 
 void gras_datadesc_cb_push_uint(gras_cbps_t vars, void *data) {
    unsigned int *i = (unsigned int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
 
-/**
- * gras_datadesc_cb_push_lint:
- * 
- * Cb to push an long integer. Must be attached to the field you want to push
+/** \brief Cb to push an long integer. Must be attached to the field you want to push
  */
 void gras_datadesc_cb_push_lint(gras_cbps_t vars, void *data) {
    long int *i = (long int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
  */
 void gras_datadesc_cb_push_lint(gras_cbps_t vars, void *data) {
    long int *i = (long int*)data;
    gras_cbps_i_push(vars, (int) *i);
 }
-/**
- * gras_datadesc_cb_push_ulint:
- * 
- * Cb to push an long integer. Must be attached to the field you want to push
+/** \brief Cb to push an long integer. Must be attached to the field you want to push
  */
 void gras_datadesc_cb_push_ulint(gras_cbps_t vars, void *data) {
    unsigned long int *i = (unsigned long int*)data;
  */
 void gras_datadesc_cb_push_ulint(gras_cbps_t vars, void *data) {
    unsigned long int *i = (unsigned long int*)data;
index a725615..69678ba 100644 (file)
 /**    \addtogroup GRAS_implem
        \ingroup GRAS_API
        
 /**    \addtogroup GRAS_implem
        \ingroup GRAS_API
        
-       Internals of GRAS */
+       Internals of GRAS (forget it) */
 /**    \addtogroup GRAS_dd
        \ingroup GRAS_API */
 /**    \addtogroup GRAS_dd_implem 
 /**    \addtogroup GRAS_dd
        \ingroup GRAS_API */
 /**    \addtogroup GRAS_dd_implem