X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ed6bf64097b3255e9253d02a735ec025d32929fe..5e3b14a56a1e8f4a63b868ec4283608acf5c2937:/include/xbt/Extendable.hpp diff --git a/include/xbt/Extendable.hpp b/include/xbt/Extendable.hpp index ccfa937744..195f287556 100644 --- a/include/xbt/Extendable.hpp +++ b/include/xbt/Extendable.hpp @@ -7,6 +7,7 @@ #ifndef SIMGRID_XBT_LIB_HPP #define SIMGRID_XBT_LIB_HPP +#include "xbt/base.h" // XBT_ATTRIB_DEPRECATED_v334 #include #include #include @@ -111,7 +112,11 @@ public: void set_data(void* data){ extensions_[0]=data; } - void* get_data() const { return extensions_[0]; } + template D* get_data() const { return static_cast(extensions_[0]); } + XBT_ATTRIB_DEPRECATED_v334("Please use typed template Extendable::get_data<>()") void* get_data() const + { + return get_data(); + } // Convenience extension access when the type has an associated EXTENSION ID: template U* extension() const { return extension(U::EXTENSION_ID); } template void extension_set(U* p) { extension_set(U::EXTENSION_ID, p); }