*/
xbt_dynar_t xbt_dynar_new(const unsigned long elmsize, void_f_pvoid_t free_f)
{
- xbt_dynar_t dynar = xbt_new0(s_xbt_dynar_t, 1);
+ auto* dynar = xbt_new0(s_xbt_dynar_t, 1);
dynar->size = 0;
dynar->used = 0;
dynar->used--;
}
-/** @brief Returns the position of the element in the dynar (or -1 if not found)
- *
- * Beware that if your dynar contains pointed values (such as strings) instead of scalar, this function is probably not
- * what you want. Check the documentation of xbt_dynar_search() for more info.
- *
- * Note that usually, the dynar indices are unsigned integers. If you have more than 2 million elements in your dynar,
- * this very function will not work (but the other will).
- */
-signed int xbt_dynar_search_or_negative(const_xbt_dynar_t dynar, const void* elem)
-{
- for (unsigned long it = 0; it < dynar->used; it++)
- if (not memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
- return it;
- }
-
- return -1;
-}
-
/** @brief Returns a boolean indicating whether the element is part of the dynar
*
* Beware that if your dynar contains pointed values (such as strings) instead of scalar, this function is probably not
- * what you want. Check the documentation of xbt_dynar_search() for more info.
+ * what you want.
*/
int xbt_dynar_member(const_xbt_dynar_t dynar, const void* elem)
{
}
}
-/** @brief Removes and free the entry pointed by the cursor
- *
- * This function can be used while traversing without problem.
- */
-void xbt_dynar_cursor_rm(xbt_dynar_t dynar, unsigned int* cursor)
-{
- xbt_dynar_remove_at(dynar, *cursor, nullptr);
- *cursor -= 1;
-}
-
/** @brief Sorts a dynar according to the function <tt>compar_fn</tt>
*
* This function simply apply the classical qsort(3) function to the data stored in the dynar.
*
* Note: The dynar won't be usable afterwards.
*/
-void* xbt_dynar_to_array(xbt_dynar_t dynar)
+void* xbt_dynar_to_array(xbt_dynar_t dynar) // XBT_ATTRIB_DEPRECATED_v331
{
- void *res;
+ void* res;
xbt_dynar_shrink(dynar, 1);
memset(xbt_dynar_push_ptr(dynar), 0, dynar->elmsize);
res = dynar->data;