`intrusive_ptr_release(p)` (which is the interface used by
[`boost::intrusive_ptr`](http://www.boost.org/doc/libs/1_61_0/libs/smart_ptr/intrusive_ptr.html));
`intrusive_ptr_release(p)` (which is the interface used by
[`boost::intrusive_ptr`](http://www.boost.org/doc/libs/1_61_0/libs/smart_ptr/intrusive_ptr.html));
- the Maestro object and the corresponding S4U object have the same lifetime
(and share the same reference count).
- the Maestro object and the corresponding S4U object have the same lifetime
(and share the same reference count).
not have reference counts. We still provide dummy `intrusive_ptr_add_ref(p)`,
`intrusive_ptr_release(p)` and `FooPtr` for consistency.
not have reference counts. We still provide dummy `intrusive_ptr_add_ref(p)`,
`intrusive_ptr_release(p)` and `FooPtr` for consistency.
corresponding C++ standard classes. For example, the methods of
`simgrid::s4u::Mutex` are based on [`std::mutex`](http://en.cppreference.com/w/cpp/thread/mutex).
This has several benefits:
corresponding C++ standard classes. For example, the methods of
`simgrid::s4u::Mutex` are based on [`std::mutex`](http://en.cppreference.com/w/cpp/thread/mutex).
This has several benefits: