Ticket #1714: enable_shared_from_this.patch
File enable_shared_from_this.patch, 963 bytes (added by , 15 years ago) |
---|
-
enable_shared_from_this.hpp
93 93 template<typename U> 94 94 void _internal_accept_owner(shared_ptr<U> &owner) const 95 95 { 96 init_internal_shared_once(); 97 get_deleter<detail::sp_deleter_wrapper>(_internal_shared_this)->set_deleter(owner); 98 owner.reset( _internal_shared_this, owner.get() ); 99 _internal_shared_this.reset(); 100 _owned = true; 96 if (_owned == false) 97 { 98 init_internal_shared_once(); 99 get_deleter<detail::sp_deleter_wrapper>(_internal_shared_this)->set_deleter(owner); 100 owner.reset( _internal_shared_this, owner.get() ); 101 _internal_shared_this.reset(); 102 _owned = true; 103 } 101 104 } 102 105 }; 103 106