C ++ 11 имеет функцию под названием «встроенные пространства имен», которая позволяет авторам обеспечивать совместимость ABI при время ссылки без вмешательства в API. Например, эти полезные ответы от @HowardHinnant объясняют, как libc++
использует встроенные пространства имен:
Мой вопрос: использует ли boost эту функцию C ++ 11? Похоже, что некоторые разработчики Boost были мышление в конечном итоге использовать его в одной точке. Но эта нить довольно старая. Это когда-нибудь случалось? Если да, относится ли это ко всем библиотекам наддува или только к подмножеству?
Некоторые библиотеки начали его использовать, но не все. Например, это в Boost.Log:
//! NOTE: I've reformatted this to look cleaner.
#if !defined(BOOST_NO_CXX11_INLINE_NAMESPACES)
inline namespace BOOST_LOG_VERSION_NAMESPACE {}
[snip]
#endif