strong_type
strong_type copied to clipboard
Add the STRONG_TYPE_MODULE_EXPORT to all entities that should be exported, aka strong_type module part 1
Add a macro STRONG_TYPE_MODULE_EXPORT.
This at some point will expand to export
in 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.hpp
contains
#if !defined(STRONG_TYPE_MODULE_EXPORT)
#define STRONG_TYPE_MODULE_EXPORT
#endif
This 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 access
in 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 #include
stuff 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.