*/
extern "C" void xbt_dynar_remove_at(xbt_dynar_t const dynar, const int idx, void* const object)
{
- unsigned long nb_shift;
- unsigned long offset;
-
_sanity_check_dynar(dynar);
_check_inbound_idx(dynar, idx);
dynar->free_f(_xbt_dynar_elm(dynar, idx));
}
- nb_shift = dynar->used - 1 - idx;
+ unsigned long nb_shift = dynar->used - 1 - idx;
if (nb_shift) {
- offset = nb_shift * dynar->elmsize;
+ unsigned long offset = nb_shift * dynar->elmsize;
memmove(_xbt_dynar_elm(dynar, idx), _xbt_dynar_elm(dynar, idx + 1), offset);
}
*/
extern "C" void xbt_dynar_remove_n_at(xbt_dynar_t const dynar, const unsigned int n, const int idx)
{
- unsigned long nb_shift;
- unsigned long offset;
- unsigned long cur;
-
- if (!n)
+ if (not n)
return;
_sanity_check_dynar(dynar);
_check_inbound_idx(dynar, idx + n - 1);
if (dynar->free_f) {
- for (cur = idx; cur < idx + n; cur++) {
+ for (unsigned long cur = idx; cur < idx + n; cur++) {
dynar->free_f(_xbt_dynar_elm(dynar, cur));
}
}
- nb_shift = dynar->used - n - idx;
+ unsigned long nb_shift = dynar->used - n - idx;
if (nb_shift) {
- offset = nb_shift * dynar->elmsize;
+ unsigned long offset = nb_shift * dynar->elmsize;
memmove(_xbt_dynar_elm(dynar, idx), _xbt_dynar_elm(dynar, idx + n), offset);
}
* \code
* signed int position = -1;
* xbt_dynar_foreach(dynar, iter, elem) {
- * if (!memcmp(elem, searched_element, sizeof(*elem))) {
+ * if (not memcmp(elem, searched_element, sizeof(*elem))) {
* position = iter;
* break;
* }
* }
* \endcode
- *
+ *
* Raises not_found_error if not found. If you have less than 2 millions elements, you probably want to use
* #xbt_dynar_search_or_negative() instead, so that you don't have to TRY/CATCH on element not found.
*/
unsigned long it;
for (it = 0; it < dynar->used; it++)
- if (!memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
+ if (not memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
return it;
}
*
* 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).
*/
unsigned long it;
for (it = 0; it < dynar->used; it++)
- if (!memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
+ 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
+/** @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.
unsigned long it;
for (it = 0; it < dynar->used; it++)
- if (!memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
+ if (not memcmp(_xbt_dynar_elm(dynar, it), elem, dynar->elmsize)) {
return 1;
}
}
}
-/** @brief Transform a dynar into a nullptr terminated array.
+/** @brief Transform a dynar into a nullptr terminated array.
*
* \param dynar the dynar to transform
* \return pointer to the first element of the array
{
int i ;
int size;
- if((!d1) && (!d2))
+ if ((not d1) && (not d2))
return 0;
- if((!d1) || (!d2)) {
+ if ((not d1) || (not d2)) {
XBT_DEBUG("nullptr dynar d1=%p d2=%p",d1,d2);
xbt_dynar_free(&d2);
return 1;
/* Vars_decl [doxygen cruft] */
int i;
unsigned int cursor;
- int *iptr;
xbt_test_add("==== Traverse the empty dynar");
xbt_dynar_t d = xbt_dynar_new(sizeof(int), nullptr);
/* 2. Traverse manually the dynar */
for (cursor = 0; cursor < NB_ELEM; cursor++) {
- iptr = (int*) xbt_dynar_get_ptr(d, cursor);
+ int* iptr = (int*)xbt_dynar_get_ptr(d, cursor);
xbt_test_assert(cursor == (unsigned int)*iptr, "The retrieved value is not the same than the injected one (%u!=%d)",
cursor, *iptr);
}
for (int cpt = 0; cpt < NB_ELEM; cpt++) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_shift(d, &s2);
- xbt_test_assert(!strcmp(buf, s2), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s2);
+ xbt_test_assert(not strcmp(buf, s2), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s2);
free(s2);
}
xbt_dynar_free(&d); /* This code is used both as example and as regression test, so we try to */
/* 2. Traverse the dynar with the macro */
xbt_dynar_foreach(d, iter, s1) {
snprintf(buf,1023, "%u", NB_ELEM - iter - 1);
- xbt_test_assert(!strcmp(buf, s1), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s1);
+ xbt_test_assert(not strcmp(buf, s1), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s1);
}
/* 3. Traverse the dynar with the macro */
for (int cpt = 0; cpt < NB_ELEM; cpt++) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_pop(d, &s2);
- xbt_test_assert(!strcmp(buf, s2), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s2);
+ xbt_test_assert(not strcmp(buf, s2), "The retrieved value is not the same than the injected one (%s!=%s)", buf, s2);
free(s2);
}
/* 4. Free the resources */
for (int cpt = 0; cpt < NB_ELEM / 2; cpt++) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_shift(d, &s2);
- xbt_test_assert(!strcmp(buf, s2),
- "The retrieved value is not the same than the injected one at the begining (%s!=%s)", buf, s2);
+ xbt_test_assert(not strcmp(buf, s2),
+ "The retrieved value is not the same than the injected one at the begining (%s!=%s)", buf, s2);
free(s2);
}
for (int cpt = (NB_ELEM / 5) - 1; cpt >= 0; cpt--) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_shift(d, &s2);
- xbt_test_assert(!strcmp(buf, s2),
- "The retrieved value is not the same than the injected one in the middle (%s!=%s)", buf, s2);
+ xbt_test_assert(not strcmp(buf, s2),
+ "The retrieved value is not the same than the injected one in the middle (%s!=%s)", buf, s2);
free(s2);
}
for (int cpt = NB_ELEM / 2; cpt < NB_ELEM; cpt++) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_shift(d, &s2);
- xbt_test_assert(!strcmp(buf, s2), "The retrieved value is not the same than the injected one at the end (%s!=%s)",
- buf, s2);
+ xbt_test_assert(not strcmp(buf, s2),
+ "The retrieved value is not the same than the injected one at the end (%s!=%s)", buf, s2);
free(s2);
}
xbt_dynar_free(&d); /* This code is used both as example and as regression test, so we try to */
for (int cpt = 2 * (NB_ELEM / 5); cpt < 4 * (NB_ELEM / 5); cpt++) {
snprintf(buf,1023, "%d", cpt);
xbt_dynar_remove_at(d, 2 * (NB_ELEM / 5), &s2);
- xbt_test_assert(!strcmp(buf, s2), "Remove a bad value. Got %s, expected %s", s2, buf);
+ xbt_test_assert(not strcmp(buf, s2), "Remove a bad value. Got %s, expected %s", s2, buf);
free(s2);
}
xbt_dynar_free(&d); /* end_of_doxygen */