From 790bc42a166bb18ab81a5e7fea812880e50f31b1 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 19 May 2019 15:40:53 +0200 Subject: [PATCH] Write in doc that some s4u objects are not smart pointers --- docs/source/app_s4u.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/source/app_s4u.rst b/docs/source/app_s4u.rst index 3f6767b8bf..274152b53d 100644 --- a/docs/source/app_s4u.rst +++ b/docs/source/app_s4u.rst @@ -343,14 +343,13 @@ Memory Management For sake of simplicity, we use `RAII `_ -everywhere in S4U. This is an idiom where resources are automatically +for many classes in S4U. This is an idiom where resources are automatically managed through the context. Provided that you never manipulate objects of type Foo directly but always FooPtr references (which are defined as `boost::intrusive_ptr `_ ), you will never have to explicitely release the resource that you use nor to free the memory of unused objects. - Here is a little example: .. code-block:: cpp @@ -365,6 +364,11 @@ Here is a little example: } // The mutex gets automatically freed because the only existing reference gets out of scope +Note that Mailboxes, Hosts and Links are not handled thought smart +pointers (yet?). This means that it is currently impossible to destroy a +mailbox or a link. You can still destroy an host (but probably +shouldn't), using :cpp:func:`simgrid::s4u::Host::destroy`. + C++ API Reference ***************** -- 2.20.1