+template <typename T> CommPtr Mailbox::get_async(T** data)
+{
+ CommPtr res = get_init()->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*));
+ res->vetoable_start();
+ return res;
+}
+
+template <typename T> T* Mailbox::get()
+{
+ T* res = nullptr;
+ get_async<T>(&res)->wait();
+ return res;
+}
+
+template <typename T> T* Mailbox::get(double timeout)
+{
+ T* res = nullptr;
+ get_async<T>(&res)->wait_for(timeout);
+ return res;
+}
+
+#ifndef DOXYGEN
+inline CommPtr Mailbox::get_async(void** data) // XBT_ATTRIB_DEPRECATED_v331
+{
+ return get_async<void>(data);
+}
+inline void* Mailbox::get() // XBT_ATTRIB_DEPRECATED_v331
+{
+ return get<void>();
+}
+inline void* Mailbox::get(double timeout) // XBT_ATTRIB_DEPRECATED_v331
+{
+ return get<void>(timeout);
+}
+#endif