SimGrid 3.7.1
Scalable simulation of distributed systems
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:
dynarinformation dealer
idxindex 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.


Back to the main Simgrid Documentation page The version of SimGrid documented here is v3.7.1.
Documentation of other versions can be found in their respective archive files (directory doc/html).
Generated by doxygen