Boost logo

Boost :

Subject: Re: [boost] version conflicts: is there a solution?
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2009-06-25 08:56:34


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 24 June 2009, Edward Diener wrote:
> > Having the definitions separated into different translation units doesn't
> > seem to be enough to prevent ODR violations according to the standard.
> > It gives a list of requirements for multiple definitions in different
> > translation units in section 3.2.5.
>
> I do not believe the C++ definition of a "translation unit" comes into
> play when dealing with a library, but rather with header files included
> within a source file. If the implementation is internal, as the OP
> suggested, then I would assume that no header files for the
> implementation are distributed and therefore no ODR violation for that
> particular situation should occur.
>
> Of course there may be conflicts when linking if internal details of a
> library are exported but that is not something about which the C++
> standard says anything AFAIK.

Can you point to anything in the standard that supports your position? It may
be safe to have an internal usage of boost in your compiled library on a
particular C++ implementation, but that doesn't say anything about whether or
not an ODR violation is happening. ODR violations are something defined by
the standard.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkpDdAIACgkQ5vihyNWuA4WNugCfQlQGvX6yDOy/23ZQr5JlWFCX
Go8AnRL9iIIob6qJ8cPZkVu+FOv3qZhe
=rg/a
-----END PGP SIGNATURE-----


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk