X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ea82f7e0ddd6a4582aecee0f0e4662664605f61..f78909c5b66e1fcdbfbb77911200b41a5698e78b:/include/simgrid/forward.h diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index b6a2b5ceca..069046297c 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2020. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -16,12 +16,16 @@ namespace simgrid { namespace s4u { class Activity; +/** Smart pointer to a simgrid::s4u::Actor */ +typedef boost::intrusive_ptr ActivityPtr; +XBT_PUBLIC void intrusive_ptr_release(const Activity* actor); +XBT_PUBLIC void intrusive_ptr_add_ref(const Activity* actor); class Actor; /** Smart pointer to a simgrid::s4u::Actor */ typedef boost::intrusive_ptr ActorPtr; -XBT_PUBLIC void intrusive_ptr_release(Actor* actor); -XBT_PUBLIC void intrusive_ptr_add_ref(Actor* actor); +XBT_PUBLIC void intrusive_ptr_release(const Actor* actor); +XBT_PUBLIC void intrusive_ptr_add_ref(const Actor* actor); class Barrier; /** Smart pointer to a simgrid::s4u::Barrier */ @@ -36,10 +40,13 @@ XBT_PUBLIC void intrusive_ptr_release(Comm* c); XBT_PUBLIC void intrusive_ptr_add_ref(Comm* c); class ConditionVariable; -/** Smart pointer to a simgrid::s4u::ConditionVariable */ +/** @beginrst + * Smart pointer to a :cpp:type:`simgrid::s4u::ConditionVariable` + * @endrst + */ typedef boost::intrusive_ptr ConditionVariablePtr; -XBT_PUBLIC void intrusive_ptr_release(ConditionVariable* c); -XBT_PUBLIC void intrusive_ptr_add_ref(ConditionVariable* c); +XBT_PUBLIC void intrusive_ptr_release(const ConditionVariable* c); +XBT_PUBLIC void intrusive_ptr_add_ref(const ConditionVariable* c); class Engine; @@ -66,9 +73,13 @@ class Link; class Mailbox; class Mutex; -XBT_PUBLIC void intrusive_ptr_release(Mutex* m); -XBT_PUBLIC void intrusive_ptr_add_ref(Mutex* m); -/** Smart pointer to a simgrid::s4u::Mutex */ +XBT_PUBLIC void intrusive_ptr_release(const Mutex* m); +XBT_PUBLIC void intrusive_ptr_add_ref(const Mutex* m); +/** + * @beginrst + * Smart pointer to a :cpp:type:`simgrid::s4u::Mutex` + * @endrst + */ typedef boost::intrusive_ptr MutexPtr; class NetZone; @@ -226,17 +237,30 @@ typedef struct s_smx_sem* smx_sem_t; #endif +/** Pointer to a SimGrid barrier object */ typedef s4u_Barrier* sg_bar_t; +/** Constant pointer to a SimGrid barrier object */ +typedef const s4u_Barrier* const_sg_bar_t; typedef s4u_ConditionVariable* sg_cond_t; +typedef const s4u_ConditionVariable* const_sg_cond_t; typedef s4u_Mutex* sg_mutex_t; +typedef const s4u_Mutex* const_sg_mutex_t; typedef s4u_Semaphore* sg_sem_t; +typedef const s4u_Semaphore* const_sg_sem_t; typedef s4u_NetZone* sg_netzone_t; +typedef const s4u_NetZone* const_sg_netzone_t; typedef s4u_Host* sg_host_t; +typedef const s4u_Host* const_sg_host_t; typedef s4u_Link* sg_link_t; +typedef const s4u_Link* const_sg_link_t; typedef s4u_Disk* sg_disk_t; +typedef const s4u_Disk* const_sg_disk_t; typedef s4u_Storage* sg_storage_t; +typedef const s4u_Storage* const_sg_storage_t; typedef s4u_File* sg_file_t; +typedef const s4u_File* const_sg_file_t; typedef s4u_VM* sg_vm_t; +typedef const s4u_VM* const_sg_vm_t; typedef s4u_Actor* sg_actor_t; typedef const s4u_Actor* const_sg_actor_t;