Ovanes Markarian
On Thu, Jun 26, 2008 at 9:35 AM,
wrote: [...] About versioning the boost namespace, I suppose you mean something like changing boost namespace to e.g. boost_1_35_0. Any thoughts on how much
work
it would take me to patch a given version of boost to do that? Is it even possible?
What I mean is:
Version 1.34 might have a class A with one field of type int. Version 1.35 might add to the class an additional field. What hapen if 1.34 returns this type's instance to 1.35. And 1.35 will try to access the additional field...
What I thought you meant was this: suppose boost namespace has a version number namespace boost_1_34_1 { // here are boost classes functions etc... } Then some boost header has a compatibility alias as in namespace boost = boost_1_34_1; User code would just use boost namespace, but now when two libraries use different versions of boost, the linker does not mix things, i.e. libA has symbols in boost_1_34_1 and libB has symbols in boost_1_35_0 As I said in my OP, no boost components are exposed in the library interface, so that should not be an issue. My question was regarding if namespace versioning was ever considered for boost, and if patching boost sources to produce it would be a lot of work or a piece of cake (with some automagic macro BOOST_VERSIONED_NAMESPACE ;). Thanks for your answers