Boost logo

Boost :

Subject: [boost] [review] Conversion - About specialization, overloading and ODR
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2011-08-31 02:19:53


Hi,

during the Boost.Conversion review and pre-review it has been argued
that as the user must provide specializations of the conversion function
for other UDT's, it could promotr ODR violations as two independent
libraries can provide the same specialization making them incompatible
for an end user.

This issue is present for any library for which the user could provide
an overload or could specialize a class. The standard library protects
itself from this issue saying that is undefined behavior any
specializations of standard classes (except maybe numeric_traits that
has a single parameters and it is intendeed to be specialized by the
library providing the UDT).

My question is: Should Boost (all the Boost libraries) document
explicitly that any class specialization or overload of free fuctions
could result in undefined behavior? Is this already implicitly acknowledged?

Best,
Vicente


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