X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c31bbbb83963c7db2b5970f5c81cbcdd7bc1c5d5..e87e7a6959f53286092e5c160dd865579601ba0e:/include/simgrid/forward.h diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index eb8125ac9a..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,11 +237,18 @@ 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;