Add support for C++20 modules#463
Merged
garyscavone merged 4 commits intothestk:masterfrom Nov 1, 2025
mikomikotaishi:master
Merged
Add support for C++20 modules#463garyscavone merged 4 commits intothestk:masterfrom mikomikotaishi:master
garyscavone merged 4 commits intothestk:masterfrom
mikomikotaishi:master
Conversation
Contributor
Author
|
Ah, so it seems including the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I made a similar pull request here on RtMidi, and am just applying the same edits here.
This pull request adds support for C++20 modules, as well as puts all symbols in the inlined namespace
rt::audio(it is broken into nested namespace to emphasise the relation with RtMidi, which also shares namespacert). This change does not break any existing code, but allows symbols to be optionally accessed through the namespacert::audioin addition to the global namespace. The module itself is imported usingimport rt.audio;and is enabled with the build macroRTAUDIO_BUILD_MODULES. EnablingRTAUDIO_USE_NAMESPACEwill make namespaces mandatory in the module.Introducing modules to the project will not break any code, but is a benefit to users of C++20 and later who may wish to consume the library using modules rather than headers.