Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Replace redundant type with 'auto'.
[simgrid.git] / src / xbt / dynar.cpp
index 6778ca1..2cf9593 100644 (file)
@@ -1,6 +1,6 @@
 /* a generic DYNamic ARray implementation.                                  */
 
-/* Copyright (c) 2004-2020. The SimGrid Team.
+/* Copyright (c) 2004-2021. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -59,7 +59,7 @@ static inline void _xbt_dynar_expand(xbt_dynar_t dynar, unsigned long nb)
 
 static inline void* _xbt_dynar_elm(const_xbt_dynar_t dynar, unsigned long idx)
 {
-  char *const data = (char *) dynar->data;
+  auto* const data            = static_cast<char*>(dynar->data);
   const unsigned long elmsize = dynar->elmsize;
 
   return data + idx * elmsize;
@@ -81,7 +81,7 @@ static inline void _xbt_dynar_get_elm(void* dst, const_xbt_dynar_t dynar, unsign
  */
 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;
@@ -290,36 +290,14 @@ void xbt_dynar_remove_at(xbt_dynar_t dynar, int idx, void* object)
   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)
-{
-  unsigned long it;
-
-  for (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)
 {
-  unsigned long it;
-
-  for (it = 0; it < dynar->used; it++)
+  for (unsigned long it = 0; it < dynar->used; it++)
     if (not memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
       return 1;
     }
@@ -391,29 +369,18 @@ void xbt_dynar_shift(xbt_dynar_t dynar, void* dst)
  */
 void xbt_dynar_map(const_xbt_dynar_t dynar, void_f_pvoid_t op)
 {
-  char *const data = (char *) dynar->data;
+  auto* const data            = static_cast<char*>(dynar->data);
   const unsigned long elmsize = dynar->elmsize;
   const unsigned long used = dynar->used;
-  unsigned long i;
 
   _sanity_check_dynar(dynar);
 
-  for (i = 0; i < used; i++) {
+  for (unsigned long i = 0; i < used; i++) {
     char* elm = data + i * elmsize;
     op(elm);
   }
 }
 
-/** @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.
@@ -455,7 +422,7 @@ void xbt_dynar_sort(const_xbt_dynar_t dynar, int_f_cpvoid_cpvoid_t compar_fn)
  */
 void* xbt_dynar_to_array(xbt_dynar_t dynar)
 {
-  void *res;
+  voidres;
   xbt_dynar_shrink(dynar, 1);
   memset(xbt_dynar_push_ptr(dynar), 0, dynar->elmsize);
   res = dynar->data;