- /* refcounting of the intrusive_ptr is delegated to the implementation object */
- friend void intrusive_ptr_add_ref(Mutex* mutex)
- {
- xbt_assert(mutex);
- SIMIX_mutex_ref(mutex->mutex_);
- }
- friend void intrusive_ptr_release(Mutex* mutex)
- {
- xbt_assert(mutex);
- SIMIX_mutex_unref(mutex->mutex_);
- }
-public:
- using Ptr = boost::intrusive_ptr<Mutex>;
+ kernel::activity::MutexImpl* const pimpl_;
+ /* refcounting */
+ friend XBT_PUBLIC void intrusive_ptr_add_ref(const Mutex* mutex);
+ friend XBT_PUBLIC void intrusive_ptr_release(const Mutex* mutex);