From 31c0fb4e9b5d20d58c57f13b1bece0e6b94f4ac8 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sat, 2 Nov 2019 00:01:12 +0100 Subject: [PATCH] Allow const parameter for sg_actor_data(). --- include/simgrid/actor.h | 2 +- include/simgrid/forward.h | 1 + include/xbt/Extendable.hpp | 4 +--- src/s4u/s4u_Actor.cpp | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) 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(); } -- 2.20.1