-
Notifications
You must be signed in to change notification settings - Fork 89
C++20 module support #104
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
base: develop
Are you sure you want to change the base?
C++20 module support #104
Changes from all commits
8a4416f
da9305f
3808ec9
904ee5d
7249a36
7da0531
224e8e7
c86e5a0
ebdb3c4
97e83bc
2d0cd75
3bf2419
05d398e
df6c026
252ddc7
4283284
a792291
8354e2c
40165f8
a7f9b00
ed0935f
23871f8
e4294bc
13c3bce
9f7574d
36f58d0
f4c4e60
8057e78
561cf44
df2c079
c35971e
87b5093
0db3440
9259563
d40a6e0
7e06b93
7c9f142
2cace6f
71cfe04
27c0e8f
ad34be9
3ec117b
4981334
4dc9e3e
965e512
269a621
417c6dd
78d9ef2
efe931b
2a2a64b
1369aa5
de4b613
1ef600d
8b55719
a3daecc
d28ed4b
8b67df4
05ead52
38dfa0f
63dce8f
fd36f27
442ee2d
478901d
38f54bc
e950579
037fc1c
89b6066
413faae
0b2f029
810f292
3f98b3b
d05eaaf
2aff610
87fd498
9e36eb3
e7fe52a
bd86b4d
268f361
76759bd
ea45418
f6cd1d7
e19dc20
62be460
c4ba590
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps, this sort of files should be made common, in a separate internal Boost library. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. They are in my Boost.Config branch (https://github.com/anarthal/config/tree/feature/cxx20-modules), but MP11 is supposed to have zero Boost dependencies, so some of them have been copied here. The Boost.Charconv PR uses the ones in Boost.Config. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think, I have a better idea of how this could be implemented, that does not require creating headers like this. See here. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#ifdef BOOST_USE_MODULES | ||
import std; | ||
#else | ||
#include <cstddef> | ||
#endif |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#ifdef BOOST_USE_MODULES | ||
import std; | ||
#else | ||
#include <tuple> | ||
#endif |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#ifdef BOOST_USE_MODULES | ||
import std; | ||
#else | ||
#include <type_traits> | ||
#endif |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#ifdef BOOST_USE_MODULES | ||
import std; | ||
#else | ||
#include <utility> | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Say, if another library includes multiple MP11 headers and thus produces multiple
import
statements. Would this be harmful in any way? For example, would this affect compilation performance? Would it make sense to move the above two lines in a separate internal header with its own include guard, so that only oneimport
is produced, no matter how many interface headers are included?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think there is any performance penalty in importing several times.