C ++ 11 verfügt über ein Feature namens "Inline-Namespaces", mit dem Autoren die ABI-Kompatibilität bei link time erzwingen können, ohne die API zu manipulieren. Diese hilfreichen Antworten von @HowardHinnant erklären beispielsweise, wie libc++
Inline-Namespaces verwendet:
Meine Frage ist: Verwendet Boost diese C ++ 11 Funktion? Es sieht so aus, als wären einige Boost-Devs mindestens Denken , es irgendwann einmal zu benutzen. Aber dieser Thread ist ziemlich alt. Ist es jemals passiert? Wenn ja, gilt das für alle Boost-Bibliotheken oder nur eine Teilmenge?
Einige Bibliotheken haben begonnen, es zu benutzen, aber nicht alle. Zum Beispiel ist dies in Boost.Log:
%Vor%Tags und Links c++ c++11 boost inline-namespaces