Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Biggest commit ever (SIMIX2): the user processes can now run in parallel
[simgrid.git] / include / xbt / dynar.h
index 1888388..b38a3e6 100644 (file)
@@ -88,7 +88,8 @@ XBT_PUBLIC(void) xbt_dynar_dump(xbt_dynar_t dynar);
 XBT_PUBLIC(void) xbt_dynar_get_cpy(const xbt_dynar_t dynar,
                                    const unsigned long idx,
                                    void *const dst);
-
+XBT_INLINE void *xbt_dynar_set_at_ptr(const xbt_dynar_t dynar,
+                                      const unsigned long idx);
 XBT_PUBLIC(void) xbt_dynar_set(xbt_dynar_t dynar, const int idx,
                                const void *src);
 XBT_PUBLIC(void) xbt_dynar_replace(xbt_dynar_t dynar,
@@ -134,6 +135,8 @@ XBT_PUBLIC(void) xbt_dynar_map(const xbt_dynar_t dynar,
  *  @{
  */
 
+XBT_INLINE XBT_PUBLIC(void *) xbt_dynar_set_at_ptr(const xbt_dynar_t dynar,
+                                      const unsigned long idx);
 XBT_INLINE XBT_PUBLIC(void *) xbt_dynar_get_ptr(const xbt_dynar_t dynar,
                                                 const unsigned long idx);
 XBT_PUBLIC(void *) xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar,
@@ -159,7 +162,7 @@ XBT_PUBLIC(void *) xbt_dynar_pop_ptr(xbt_dynar_t const dynar);
 /** @brief Quick setting of scalar content
  *  @hideinitializer */
 #  define xbt_dynar_set_as(dynar,idx,type,val) \
-         (*(type*)xbt_dynar_get_ptr((dynar),(idx))) = val
+         (*(type*)xbt_dynar_set_at_ptr((dynar),(idx))) = val
   /** @brief Quick retrieval of scalar content 
    *  @hideinitializer */
 #  define xbt_dynar_getlast_as(dynar,type) \