- // Copy+move (with the copy-and-swap idiom):
- Actor(Actor const& actor) : pimpl_(SIMIX_process_ref(actor.pimpl_)) {}
- friend void swap(Actor& first, Actor& second)
- {
- using std::swap;
- swap(first.pimpl_, second.pimpl_);
- }
- Actor& operator=(Actor actor)
+ // ***** No copy *****
+
+ Actor(Actor const&) = delete;
+ Actor& operator=(Actor const&) = delete;
+
+ // ***** Reference count (delegated to pimpl_) *****
+
+ friend void intrusive_ptr_add_ref(Actor* actor)