SimGrid: Direct manipulation to the dynars content

SimGrid 3.10 Versatile Simulation of Distributed Systems

- Home page
- Online documentation
- Dev's Corner

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Direct manipulation to the dynars content
Dynar: generic dynamic array

## Functions
void * | xbt_dynar_get_ptr (const xbt_dynar_t dynar, const unsigned long idx)
| Retrieve a pointer to the Nth element of a dynar.
void * | xbt_dynar_insert_at_ptr (xbt_dynar_t const dynar, const int idx)
| Make room for a new element, and return a pointer to it.
void * | xbt_dynar_push_ptr (xbt_dynar_t const dynar)
| Make room at the end of the dynar for a new element, and return a pointer to it.
void * | xbt_dynar_pop_ptr (xbt_dynar_t const dynar)
| Mark the last dynar's element as unused and return a pointer to it.

## Detailed Description

Those functions do not retrieve the content, but only their address.

## Function Documentation

void* xbt_dynar_get_ptr | ( | const xbt_dynar_t | dynar,
|  | const unsigned long | idx
| ) |  |

Retrieve a pointer to the Nth element of a dynar.

Parameters

  dynar | information dealer
  idx | index of the slot we want to retrieve

Returns
  the idx-th element of dynar.

Warning
  The returned value is the actual content of the dynar. Make a copy before fooling with it.

void* xbt_dynar_insert_at_ptr | ( | xbt_dynar_t const | dynar,
|  | const int | idx
| ) |  |

Make room for a new element, and return a pointer to it.

You can then use regular affectation to set its value instead of relying on the slow memcpy. This is what xbt_dynar_insert_at_as() does.

void* xbt_dynar_push_ptr | ( | xbt_dynar_t const | dynar | ) |

Make room at the end of the dynar for a new element, and return a pointer to it.

You can then use regular affectation to set its value instead of relying on the slow memcpy. This is what xbt_dynar_push_as() does.

void* xbt_dynar_pop_ptr | ( | xbt_dynar_t const | dynar | ) |

Mark the last dynar's element as unused and return a pointer to it.

You can then use regular affectation to set its value instead of relying on the slow memcpy. This is what xbt_dynar_pop_as() does.