X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a513f81354fc9bbcc750dba0ce48883a11e1b618..537c056a021b3f8955560913638ce292d575e862:/include/xbt/dynar.h?ds=sidebyside diff --git a/include/xbt/dynar.h b/include/xbt/dynar.h index 616109f646..563cf2a4ca 100644 --- a/include/xbt/dynar.h +++ b/include/xbt/dynar.h @@ -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, @@ -107,6 +108,7 @@ XBT_PUBLIC(void) xbt_dynar_sort(xbt_dynar_t const dynar, int_f_cpvoid_cpvoid_t compar_fn); XBT_INLINE XBT_PUBLIC(int) xbt_dynar_compare(xbt_dynar_t d1, xbt_dynar_t d2, int(*compar)(const void *, const void *)); +XBT_INLINE void * xbt_dynar_to_array (xbt_dynar_t dynar); /** @} */ /** @defgroup XBT_dynar_perl Perl-like use of dynars @@ -134,10 +136,10 @@ 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_set_at_ptr(const xbt_dynar_t dynar, - const unsigned long idx); XBT_PUBLIC(void *) xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, const int idx); XBT_PUBLIC(void *) xbt_dynar_push_ptr(xbt_dynar_t const dynar); @@ -161,7 +163,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) \