#define SIMGRId_XBT_DYNAR_HPP
#include <boost/range/iterator_range.hpp>
-
#include <xbt/asserts.h>
#include <xbt/dynar.h>
(T*) ((char*) dynar->data + dynar->used * dynar->elmsize));
}
+/** Dynar of `T*` which `delete` its values */
+template<class T> inline
+xbt_dynar_t newDeleteDynar()
+{
+ return xbt_dynar_new(sizeof(T*),
+ [](void* p) { delete *(T**)p; });
}
+
+/** Dynar of `T*` which `destroy()` its values */
+template<class T> inline
+xbt_dynar_t newDestroyDynar()
+{
+ return xbt_dynar_new(sizeof(T*),
+ [](void* p) { simgrid::xbt::destroy(*(T**)p); });
}
+}
+}
#endif