File tree Expand file tree Collapse file tree 8 files changed +56
-55
lines changed
Expand file tree Collapse file tree 8 files changed +56
-55
lines changed Original file line number Diff line number Diff line change 5252 <ClInclude Include =" ..\strings\base_collections_vector.h" />
5353 <ClInclude Include =" ..\strings\base_composable.h" />
5454 <ClInclude Include =" ..\strings\base_com_ptr.h" />
55- <ClInclude Include =" ..\strings\base_coroutine.h" />
5655 <ClInclude Include =" ..\strings\base_coroutine_foundation.h" />
5756 <ClInclude Include =" ..\strings\base_coroutine_system.h" />
5857 <ClInclude Include =" ..\strings\base_coroutine_threadpool.h" />
5958 <ClInclude Include =" ..\strings\base_coroutine_ui_core.h" />
6059 <ClInclude Include =" ..\strings\base_deferral.h" />
6160 <ClInclude Include =" ..\strings\base_delegate.h" />
62- <ClInclude Include =" ..\strings\base_dependencies.h" />
6361 <ClInclude Include =" ..\strings\base_error.h" />
6462 <ClInclude Include =" ..\strings\base_events.h" />
6563 <ClInclude Include =" ..\strings\base_extern.h" />
6866 <ClInclude Include =" ..\strings\base_handle.h" />
6967 <ClInclude Include =" ..\strings\base_identity.h" />
7068 <ClInclude Include =" ..\strings\base_implements.h" />
69+ <ClInclude Include =" ..\strings\base_includes.h" />
7170 <ClInclude Include =" ..\strings\base_lock.h" />
7271 <ClInclude Include =" ..\strings\base_macros.h" />
7372 <ClInclude Include =" ..\strings\base_marshaler.h" />
Original file line number Diff line number Diff line change 7676 <ClInclude Include =" ..\strings\base_delegate.h" >
7777 <Filter >strings</Filter >
7878 </ClInclude >
79- <ClInclude Include =" ..\strings\base_dependencies.h" >
80- <Filter >strings</Filter >
81- </ClInclude >
8279 <ClInclude Include =" ..\strings\base_error.h" >
8380 <Filter >strings</Filter >
8481 </ClInclude >
151148 <ClInclude Include =" ..\strings\base_fast_forward.h" >
152149 <Filter >strings</Filter >
153150 </ClInclude >
154- <ClInclude Include =" ..\strings\base_coroutine.h" >
155- <Filter >strings</Filter >
156- </ClInclude >
157151 <ClInclude Include =" ..\strings\base_deferral.h" >
158152 <Filter >strings</Filter >
159153 </ClInclude >
160154 <ClInclude Include =" cmd_reader.h" />
161155 <ClInclude Include =" task_group.h" />
162156 <ClInclude Include =" text_writer.h" />
157+ <ClInclude Include =" ..\strings\base_includes.h" >
158+ <Filter >strings</Filter >
159+ </ClInclude >
163160 </ItemGroup >
164161 <ItemGroup >
165162 <ResourceCompile Include =" $(OutDir)version.rc" />
Original file line number Diff line number Diff line change @@ -8,8 +8,7 @@ namespace cppwinrt
88 write_preamble (w);
99 write_open_file_guard (w, " BASE" );
1010
11- w.write (strings::base_dependencies);
12- w.write (strings::base_coroutine);
11+ w.write (strings::base_includes);
1312 w.write (strings::base_macros);
1413 w.write (strings::base_types);
1514 w.write (strings::base_extern);
Original file line number Diff line number Diff line change @@ -289,16 +289,23 @@ Where <spec> is one or more of:
289289
290290 w.flush_to_console ();
291291 task_group group;
292+ writer ixx;
293+ write_preamble (ixx);
294+ ixx.write (" module;\n " );
295+ ixx.write (strings::base_includes);
296+ ixx.write (" \n export module winrt;\n #define WINRT_EXPORT export\n\n " );
292297
293298 for (auto &&[ns, members] : c.namespaces ())
294299 {
295- group. add ([&, &ns = ns, & members = members]
300+ if (! has_projected_types ( members) || !settings. projection_filter . includes ( members))
296301 {
297- if (! has_projected_types (members) || !settings. projection_filter . includes (members))
298- {
299- return ;
300- }
302+ continue ;
303+ }
304+
305+ ixx. write ( " #include \" winrt/%.h \"\n " , ns);
301306
307+ group.add ([&, &ns = ns, &members = members]
308+ {
302309 write_namespace_0_h (ns, members);
303310 write_namespace_1_h (ns, members);
304311 write_namespace_2_h (ns, members);
@@ -309,6 +316,7 @@ Where <spec> is one or more of:
309316 if (settings.base )
310317 {
311318 write_base_h ();
319+ ixx.flush_to_file (settings.output_folder + " winrt/winrt.ixx" );
312320 }
313321
314322 if (settings.component )
Original file line number Diff line number Diff line change @@ -527,7 +527,7 @@ namespace winrt::impl
527527 };
528528}
529529
530- namespace std ::experimental
530+ WINRT_EXPORT namespace std ::experimental
531531{
532532 template <typename ... Args>
533533 struct coroutine_traits <winrt::Windows::Foundation::IAsyncAction, Args...>
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 11
2+ #include < algorithm>
3+ #include < array>
4+ #include < atomic>
5+ #include < charconv>
6+ #include < chrono>
7+ #include < cstddef>
8+ #include < map>
9+ #include < memory>
10+ #include < optional>
11+ #include < stdexcept>
12+ #include < string_view>
13+ #include < string>
14+ #include < tuple>
15+ #include < type_traits>
16+ #include < unordered_map>
17+ #include < utility>
18+ #include < vector>
19+
20+ #if __has_include(<WindowsNumerics.impl.h>)
21+ #define WINRT_IMPL_NUMERICS
22+ #include < directxmath.h>
23+ #endif
24+
225#ifndef __clang__
326
427#include < experimental/coroutine>
Original file line number Diff line number Diff line change 3030#if defined(_RESUMABLE_FUNCTIONS_SUPPORTED ) && !defined(__cpp_coroutines )
3131#define __cpp_coroutines
3232#endif
33+
34+ #ifndef WINRT_EXPORT
35+ #define WINRT_EXPORT
36+ #endif
37+
38+ #ifdef WINRT_IMPL_NUMERICS
39+ #define _WINDOWS_NUMERICS_NAMESPACE_ winrt::Windows::Foundation::Numerics
40+ #define _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ WINRT_EXPORT namespace winrt::Windows::Foundation::Numerics
41+ #define _WINDOWS_NUMERICS_END_NAMESPACE_
42+ #include <WindowsNumerics.impl.h>
43+ #undef _WINDOWS_NUMERICS_NAMESPACE_
44+ #undef _WINDOWS_NUMERICS_BEGIN_NAMESPACE_
45+ #undef _WINDOWS_NUMERICS_END_NAMESPACE_
46+ #endif
You can’t perform that action at this time.
0 commit comments