From: Arnaud Giersch Date: Fri, 1 Nov 2019 23:01:12 +0000 (+0100) Subject: Allow const parameter for sg_actor_data(). X-Git-Tag: v3.25~462 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/31c0fb4e9b5d20d58c57f13b1bece0e6b94f4ac8?ds=inline Allow const parameter for sg_actor_data(). --- diff --git a/include/simgrid/actor.h b/include/simgrid/actor.h index 473a10d285..508cb0aff2 100644 --- a/include/simgrid/actor.h +++ b/include/simgrid/actor.h @@ -51,7 +51,7 @@ XBT_PUBLIC const char* sg_actor_self_get_name(); XBT_PUBLIC void sg_actor_self_execute(double flops); XBT_PUBLIC void sg_actor_ref(sg_actor_t actor); XBT_PUBLIC void sg_actor_unref(sg_actor_t actor); -XBT_PUBLIC void* sg_actor_data(sg_actor_t actor); +XBT_PUBLIC void* sg_actor_data(const_sg_actor_t actor); XBT_PUBLIC void sg_actor_data_set(sg_actor_t actor, void* userdata); SG_END_DECL diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 8ce7d7b8e6..08cdf5b428 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -236,6 +236,7 @@ typedef s4u_Storage* sg_storage_t; typedef s4u_File* sg_file_t; typedef s4u_VM* sg_vm_t; typedef s4u_Actor* sg_actor_t; +typedef const s4u_Actor* const_sg_actor_t; typedef struct s_smx_simcall* smx_simcall_t; diff --git a/include/xbt/Extendable.hpp b/include/xbt/Extendable.hpp index d95d186b65..c85201fec6 100644 --- a/include/xbt/Extendable.hpp +++ b/include/xbt/Extendable.hpp @@ -110,9 +110,7 @@ public: void set_data(void* data){ extensions_[0]=data; } - void* get_data(){ - return extensions_[0]; - } + void* get_data() const { return extensions_[0]; } // Convenience extension access when the type has a associated EXTENSION ID: template U* extension() const { return extension(U::EXTENSION_ID); } template void extension_set(U* p) { extension_set(U::EXTENSION_ID, p); } diff --git a/src/s4u/s4u_Actor.cpp b/src/s4u/s4u_Actor.cpp index 80cd55af9b..f092fc8cb7 100644 --- a/src/s4u/s4u_Actor.cpp +++ b/src/s4u/s4u_Actor.cpp @@ -707,7 +707,7 @@ void sg_actor_unref(sg_actor_t actor) } /** @brief Return the user data of a #sg_actor_t */ -void* sg_actor_data(sg_actor_t actor) +void* sg_actor_data(const_sg_actor_t actor) { return actor->get_data(); }