-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using versioned namespaces #1539
Labels
kind: enhancement/improvement
release item: 🔨 further change
solution: proposed fix
a fix for the issue has been proposed and waits for confirmation
Milestone
Comments
Related #1394 |
I had a brief look and this seems to be a lot of work... Any volunteers? |
I’m happy to do. |
Hopefully on weekend I'll have time to do it. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind: enhancement/improvement
release item: 🔨 further change
solution: proposed fix
a fix for the issue has been proposed and waits for confirmation
Describe the feature in as much detail as possible.
In huge environments libraries and binaries might be compiled in different times. As this library is header only it has no dynamic linked library so from an ldd command the user is not able to detect which json library version is used in its dependencies. Using several version of json library accidentally might cause linking issues when the same function in the same namespace have different implementations. My idea is: the implementation namespace would contain the library version and we create an alias to it (so all currently implemented code could be the same while several versions of jsons could be used in the same binary silently).
Include sample usage where appropriate.
We build a so, a file with json version 3.4.0, but the binary is built by 3.6.0.
possible implementation:
namespace nlohmann
should be changed tonamespace nlohmann_json_3_6_0
and the last line of the header should be:namespace nlohmann = nlohmann_json_3_6_0;
The text was updated successfully, but these errors were encountered: