#pragma once #include #include #include #include template using stl_vector_mp = std::vector>; template using stl_list_mp = std::list>; template struct mi_stl_deleter { void operator()(T* p) const { mi_free(p); } }; template static inline std::shared_ptr make_shared_mp() { return std::shared_ptr(new (mi_malloc(sizeof(T))) T(), mi_stl_deleter()); }