Opened 16 years ago
Last modified 9 years ago
#810 new Feature Requests (None)
support for weak_ptr binding — at Version 6
Reported by: | nobody | Owned by: | Peter Dimov |
---|---|---|---|
Milestone: | To Be Determined | Component: | smart_ptr |
Version: | None | Severity: | Optimization |
Keywords: | Cc: | jwakely.boost@… |
Description (last modified by )
Hello, recently i faced with problem - i was not able to pass weak_ptr to bind() function. I started to study why and found there is no support for this in boost. As result, me and my friend wrote "get_pointer" version which accepts weak_ptr. At actual call moment, implementation uses weak_ptr::lock() to get shared_ptr. If retrieved shared_ptr is invalid, then exception of type "disposed_exception" thrown. This code was tested on Windows XP SP2 with following compilers: VC6, VC7, VC7.1, VC8, g++ 3.2.3 (MinGW), g++ 3.4.4 (Cygwin). If you find this code is useful for someone else me, please add to boost (it's actually not a library, this is why i'm poosting it to "patches"). You can find sources + test app in attachment. Thank you, Dmytro Gokun
Change History (7)
comment:1 by , 15 years ago
by , 15 years ago
Attachment: | bind_weak_ptr.zip added |
---|
comment:2 by , 15 years ago
Milestone: | → To Be Determined |
---|---|
Severity: | → Optimization |
Type: | Patches → Feature Requests |
Moved to Feature Requests, restored attachment.
comment:3 by , 15 years ago
For what it's worth, I second the request for this functionality. I was thinking about attempting to write a version myself for submission when I stumbled across this trac entry. I think that this form of bind would be extremely useful. I can't think of a nicer generic way to break a shared_ptr dependency while still maintaining decoupling using boost bind and function.
comment:4 by , 13 years ago
Cc: | added |
---|
comment:6 by , 9 years ago
Description: | modified (diff) |
---|---|
Status: | assigned → new |
Note:
See TracTickets
for help on using tickets.
Are there any plans to add this type of functionality?
This would be very useful in my current project, but I'd rather stick with upstream instead of patching boost locally.