Also ich baue eine C++ 11-Bibliothek basierend auf anderen Bibliotheken wie OpenGL, SDL2, Assimp, Glm, etc ... Das Problem ist nur, dass die meisten dieser Bibliotheken ihre Funktionen platzieren, oder Objekte im globalen Namespace: Dies kann zu Konflikten mit meinen Klassen führen! (zB Assimp-Vektoren und meine Vector-Klasse ...) Also dachte ich daran, die Bibliotheken in einen Namensraum zu stellen, anstatt sie dort zu lassen, um den globalen Namensraum zu "verschmutzen".Platzieren von C++ - Bibliotheken aus dem globalen Namespace
Ich dachte, dies zu tun:
namespace some_name_space
{
#include <some/kind/of/lib>
}
Aber ich erkennen, dass es immer noch ein Teil der Bibliothek im globalen Namespace sein würde!
Irgendwelche Vorschläge, wie dies zu erreichen?
PS: Ich könnte die Bibliotheken "wickeln", aber das wäre nicht wirklich managable!
Habe ich richtig verstanden, dass Sie Code ** von Drittanbietern in einen Namespace verschieben und ** Ihren eigenen ** Code im globalen Namespace hinterlassen möchten? – Siguza
Ja, das ist es :) – MattMatt
Darf ich fragen, warum Sie nicht einfach Ihren eigenen Code in einen Namensraum verschieben? Vor allem, weil Sie eine Bibliothek bauen? Du wirst anderen Menschen die gleichen Probleme bereiten, die du hier selbst lösen willst. – Siguza