SimGrid  3.21
Versatile Simulation of Distributed Systems
dynar.h File Reference
#include <string.h>
#include <xbt/base.h>
#include <xbt/function_types.h>

Namespaces

 simgrid
 
 simgrid::xbt
 

Macros

#define xbt_dynar_get_as(dynar, idx, type)
 Quick retrieval of scalar content. More...
 
#define xbt_dynar_set_as(dynar, idx, type, val)
 Quick setting of scalar content. More...
 
#define xbt_dynar_getlast_as(dynar, type)
 Quick retrieval of scalar content. More...
 
#define xbt_dynar_getfirst_as(dynar, type)
 Quick retrieval of scalar content. More...
 
#define xbt_dynar_insert_at_as(dynar, idx, type, value)
 Quick insertion of scalar content. More...
 
#define xbt_dynar_push_as(dynar, type, value)
 Quick insertion of scalar content. More...
 
#define xbt_dynar_pop_as(dynar, type)
 Quick removal of scalar content. More...
 
#define xbt_dynar_foreach(_dynar, _cursor, _data)
 Iterates over the whole dynar. More...
 
#define xbt_dynar_foreach_ptr(_dynar, _cursor, _ptr)
 

Typedefs

typedef struct xbt_dynar_s * xbt_dynar_t
 Dynar data type (opaque type) More...
 
typedef struct xbt_dynar_s s_xbt_dynar_t
 

Functions

xbt_dynar_t xbt_dynar_new (const unsigned long elm_size, void_f_pvoid_t const free_f)
 
void xbt_dynar_init (xbt_dynar_t dynar, const unsigned long elmsize, void_f_pvoid_t const free_f)
 
void xbt_dynar_free (xbt_dynar_t *dynar)
 
void xbt_dynar_free_voidp (void *dynar)
 
void xbt_dynar_free_container (xbt_dynar_t *dynar)
 
void xbt_dynar_free_data (xbt_dynar_t dynar)
 
void xbt_dynar_shrink (xbt_dynar_t dynar, int empty_slots)
 
void xbt_dynar_dump (xbt_dynar_t dynar)
 
void xbt_dynar_get_cpy (const xbt_dynar_t dynar, const unsigned long idx, void *const dst)
 
void xbt_dynar_set (xbt_dynar_t dynar, const int idx, const void *src)
 
void xbt_dynar_replace (xbt_dynar_t dynar, const unsigned long idx, const void *object)
 
void xbt_dynar_insert_at (xbt_dynar_t const dynar, const int idx, const void *src)
 
void xbt_dynar_remove_at (xbt_dynar_t const dynar, const int idx, void *const dst)
 
void xbt_dynar_remove_n_at (xbt_dynar_t const dynar, const unsigned int n, const int idx)
 
unsigned int xbt_dynar_search (xbt_dynar_t const dynar, void *elem)
 
signed int xbt_dynar_search_or_negative (xbt_dynar_t const dynar, void *const elem)
 
int xbt_dynar_member (xbt_dynar_t const dynar, void *elem)
 
void xbt_dynar_sort (xbt_dynar_t const dynar, int_f_cpvoid_cpvoid_t compar_fn)
 
xbt_dynar_t xbt_dynar_sort_strings (xbt_dynar_t dynar)
 
int xbt_dynar_compare (xbt_dynar_t d1, xbt_dynar_t d2, int(*compar)(const void *, const void *))
 
void * xbt_dynar_to_array (xbt_dynar_t dynar)
 
unsigned long xbt_dynar_length (const xbt_dynar_t dynar)
 
int xbt_dynar_is_empty (const xbt_dynar_t dynar)
 
void xbt_dynar_reset (xbt_dynar_t const dynar)
 
void xbt_dynar_merge (xbt_dynar_t *d1, xbt_dynar_t *d2)
 
void xbt_dynar_push (xbt_dynar_t const dynar, const void *src)
 
void xbt_dynar_pop (xbt_dynar_t const dynar, void *const dst)
 
void xbt_dynar_unshift (xbt_dynar_t const dynar, const void *src)
 
void xbt_dynar_shift (xbt_dynar_t const dynar, void *const dst)
 
void xbt_dynar_map (const xbt_dynar_t dynar, void_f_pvoid_t const op)
 
void * xbt_dynar_set_at_ptr (const xbt_dynar_t dynar, const unsigned long idx)
 
void * xbt_dynar_get_ptr (const xbt_dynar_t dynar, const unsigned long idx)
 
void * xbt_dynar_insert_at_ptr (xbt_dynar_t const dynar, const int idx)
 
void * xbt_dynar_push_ptr (xbt_dynar_t const dynar)
 
void * xbt_dynar_pop_ptr (xbt_dynar_t const dynar)
 
void xbt_dynar_cursor_rm (xbt_dynar_t dynar, unsigned int *const cursor)
 
static int _xbt_dynar_cursor_get (const xbt_dynar_t dynar, unsigned int idx, void *const dst)
 
template<class T >
xbt_dynar_t simgrid::xbt::newDeleteDynar ()
 Dynar of T* which delete its values. More...