Much as I like them (with caveats) - can I propose retiring POCO's smart pointers in favour of the TR1/C++0x versions and deferring to a built-in Boost subset snapshot if the compiler doesn't have support and the system doesn't have Boost?
As far as I can tell this is actually a subtle breaking change for the way that you indicate whether a passed pointer is being gifted for ownership or must be wrapped as shared with other smart pointers. Its a big change, but I can't see how POCO can retain relevance post C++0x if it uses a different style for this sort of thing.
Probably best to line up with the thread and mutex/condvar stuff too, and extend from that.
I'm no fan of Boost but it may be appropriate to import a snapshot of (some of) Boost to provide some low-level componentry and then concentrate on providing value add on top and/or value by supporting stabilised Boost-like APIs where Boost breaks things from version to version.
James





