
From: Howard Hinnant <hinnant@twcny.rr.com>
Alternative names:
Now that you raised a flag on the "move_ptr" name, I do agree that it isn't appropriate. "Move" is a verb, so "move_ptr" looks like a command.
owned_ptr
Many pointers are owned, they just have differing ownership semantics.
unique_ptr
There are many unique pointers, but they aren't necessarily movable or, rather, subject to being moved.
sole_ptr solo_ptr
ditto
exclusive_ptr
Many pointers have but one owner, but that doesn't mean that they are movable.
lone_ptr only_ptr
Similar to unique_ptr.
unshared_ptr
This has the right idea. It says that there is no sharing; that there can only ever be one owner of the resource at a time.
selfish_ptr
I don't think we need to condemn the pointer for its acting as designed, do you? I thought of "movable_ptr," but that's wrong because it suggests that the pointer *may* be moved, but doesn't have to be moved. How about "moving_ptr?" That suggests the transitive nature of ownership, doesn't it? "transitive_ptr?" How about something along the lines of "nonloyal_ptr?" That is, it has no allegiance to a single owner, but moves among them at will (well, not quite that freely, but I'm sure you get the idea). -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;