
Sure, boost ABI changes from release to release but unless you want to provide a "one-for-all" binary release of your library, what is the issue? Even libstdc++ ABI changes every now and then.
Not correct. GCC keeps ABI since gcc-3.4... And this is now about 6 years... Not bad?
You can still provide binaries for certain distributions. For instance, Ubuntu-8.04 comes with boost-1.34 and libstdc++.so.6. That won't change.
Yes, but debian comes with boost-1.35 and Ubuntu-8.10 would be with another version and maybe user wants to use in its application 1.42 and he can't because libfoo uses 1.35...
<snip>
I would try to avoid a library that uses such pseudo-boost in its API instead of the real thing,
As I had written I do not encourage you using this. But I can't use anything else because I can't use boost! Believe me, writing this library is far from being my first choice.
In addition, to be honest, personally because I want to use boost, not some look-alike. I don't want to use the umpteenth version of a smart pointer...
Very good point. The shared_ptr I used is boost shared_ptr but instead of inline sp_counted_base I use compiled and linked sp_counted_base so I can change implementation without breaking binary compatibility. But it is still the same shared_ptr Small difference. Artyom