Add the STRONG_TYPE_MODULE_EXPORT to all entities that should be exported, aka strong_type module part 1#48
Conversation
…rted in a module Set STRONG_TYPE_MODULE_EXPORT to empty if not defined
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #48 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 23 23
Lines 338 356 +18
=========================================
+ Hits 338 356 +18 ☔ View full report in Codecov by Sentry. |
rollbear
left a comment
There was a problem hiding this comment.
Nice! I'll see what I can do about adding CI support to ensure it is (and stays) OK.
This will probably take a week, though, since I'm now fully in going-to-conference mode.
| * strong_type C++14/17/20 strong typedef library | ||
| * | ||
| * Copyright (C) Björn Fahller | ||
| * |
There was a problem hiding this comment.
I wouldn't mind if you added your own name here. It's a substantial contribution.
|
Are you waiting on me to do anything on this and the other PR? |
|
No, sorry, I got stuck on a ton of other things. It is not impossible that I will ask for your assistance, but for the moment I'm a bit swamped with other things. |
|
No problem I'll just check back every so often |
Add a macro STRONG_TYPE_MODULE_EXPORT.
This at some point will expand to
exportin a module build and empty in a non module build.Only entities in the strong_type namespace were decorated, anything in "impl", "detail" etc... namespaces were not, although see below.
The header file
type.hppcontainsThis allows existing include users to carry on including without any changes
There should be no other changed in this patch. In my local build I have built a module and built all the test cases against it, at least on MSVC. In doing this there were two methods called
accessin the type.hpp header that are used in the implementation of other exported stuff so they had to be exported.I included the strong_type.ixx file just for you interest, it will probably change a bit from this. I believe that all the other changes in the library header files are messing around with
#includestuff by macroing them in or out as necessary.These changes should not overlap at all with the
import std;pull request so could be applied in either order.