
Chad Nelson wrote:
This disables the copy-on-write optimization that the library uses by default [...] I'm not convinced that integers should be COW. What situations do you forsee where COW would be helpful but move semantics wouldn't suffice?
As described on the rationale page of the documentation, the primary reason I'm using copy-on-write is that move semantics aren't widely available yet. Portability is one of my primary goals, and while I've seen references to a move-semantics-emulator in Boost, I've also seen suggestions that it relies on the compiler to somehow recognize it. That doesn't sound fully portable to me. - -- Chad Nelson Oak Circle Software, Inc.
Have you looked at the (proposed) Boost.Move library by Ion (available from the sandbox)? It does a pretty good job of emulating move semantics for compilers that lack rvalue references. Not sure what you're referring to by "suggestions that it relies on the compiler to somehow recognize it"...can you elaborate? - Jeff