C++11 has a feature called "inline namespaces", which allows authors to enforce ABI compatibility at link time without tampering with the API. For instance, these helpful answers from @HowardHinnant explain how libc++
uses inline namespaces:
- Using libstdc++ compiled libraries with clang++ -stdlib=libc++
- Why can't clang with libc++ in c++0x mode link this boost::program_options example?
My question is: Does boost make use of this C++11 feature? It looks like some boost devs were at least thinking of eventually using it at one point. But that thread is pretty old. Did it ever happen? If so, does apply to all boost libraries, or only a subset?
grep "inline namespace"
might be useful here. – Dynode