-void xbt_dynar_set(xbt_dynar_t dynar, int idx, const void *src);
-void xbt_dynar_replace(xbt_dynar_t dynar,
- int idx, const void *object);
-
-/* perl array function */
-
-void xbt_dynar_insert_at(xbt_dynar_t dynar,
- int idx, const void *src);
-void xbt_dynar_remove_at(xbt_dynar_t dynar,
- int idx, void *object);
-void xbt_dynar_push (xbt_dynar_t dynar, const void *src);
-void xbt_dynar_pop (xbt_dynar_t dynar, void *const dst);
-void xbt_dynar_unshift (xbt_dynar_t dynar, const void *src);
-void xbt_dynar_shift (xbt_dynar_t dynar, void *const dst);
-void xbt_dynar_map (const xbt_dynar_t dynar, void_f_pvoid_t *operator);
-
-/* speed-optimized versions */
-void *xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar,
- const int idx);
-void *xbt_dynar_push_ptr(xbt_dynar_t dynar);
-void *xbt_dynar_pop_ptr(xbt_dynar_t dynar);
-
-#define xbt_dynar_insert_at_as(dynar,idx,type,value) *(type*)xbt_dynar_insert_at_ptr(dynar,idx)=value
-#define xbt_dynar_push_as(dynar,type,value) *(type*)xbt_dynar_push_ptr(dynar)=value
-#define xbt_dynar_pop_as(dynar,type) *(type*)xbt_dynar_pop_ptr(dynar)
-
-
-/* cursor functions */
-void xbt_dynar_cursor_first (const xbt_dynar_t dynar, int *cursor);
-void xbt_dynar_cursor_step (const xbt_dynar_t dynar, int *cursor);
-int xbt_dynar_cursor_get (const xbt_dynar_t dynar, int *cursor, void *whereto);
-
-/**
- * xbt_dynar_foreach:
- * @_dynar: what to iterate over
- * @_cursor: an integer used as cursor
- * @_data:
+ void xbt_dynar_set(xbt_dynar_t dynar, int idx, const void *src);
+ void xbt_dynar_replace(xbt_dynar_t dynar, int idx, const void *object);
+
+ void xbt_dynar_insert_at(xbt_dynar_t dynar, int idx, const void *src);
+ void xbt_dynar_remove_at(xbt_dynar_t dynar, int idx, void *object);
+
+/** @} */
+/** @name 2. Perl-like functions
+ * @{
+ */
+
+ void xbt_dynar_push (xbt_dynar_t dynar, const void *src);
+ void xbt_dynar_pop (xbt_dynar_t dynar, void *const dst);
+ void xbt_dynar_unshift (xbt_dynar_t dynar, const void *src);
+ void xbt_dynar_shift (xbt_dynar_t dynar, void *const dst);
+ void xbt_dynar_map (const xbt_dynar_t dynar, void_f_pvoid_t *operator);
+
+/** @} */
+/** @name 3. Manipulating pointers to the content
+ *
+ * Those functions do not retrive the content, but only their address.
+ *
+ * @{
+ */
+
+ void *xbt_dynar_get_ptr(const xbt_dynar_t dynar, const int idx);
+ void *xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, const int idx);
+ void *xbt_dynar_push_ptr(xbt_dynar_t dynar);
+ void *xbt_dynar_pop_ptr(xbt_dynar_t dynar);
+
+/** @} */
+/** @name 4. Speed optimized functions for scalars