C++/WinRT and the Future of C++ on Windows
summary
C++/WinRT is a standard, header-only C++ projection that replaces C++/CX and compiler extensions, delivered by a tool called cppwinrt.exe that turns WinMD inputs into consumable headers and optional component scaffolding. The demos show generating a projection from local WinMDs in a few hundred milliseconds and producing hundreds of namespace headers (demo listed ~280 top-level headers, overall projection ~1,032 headers), building a component, and running it with clang while preserving PDBs. Implementation uses C++17: constexpr metaprogramming, std::destroy, std::optional, string_view and coroutines; modules are proposed to eliminate 40+MB header compile pain.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:30Overview
- 1:40CWinRT
- 6:22Compiler
- 7:47CPPRT
- 10:27Creating a Consuming Application
- 15:48Building the Application
- 17:23Nested namespace definitions
- 17:47Type traits
- 19:39Logical operator traits
- 21:43Query interface implementation
- 23:45Grid interface implementation
- 24:41Search
- 25:06ConstExpert
- 27:29Developing Components
- 31:06Implementation
- 37:52Coming Soon
- 39:13The Future
- 44:41C Modules
- 49:43Reflection Code Injection Metaclasses
- 55:09Interface Inheritance
- 57:58Virtual Functions
related talks
58m“Embracing Standard C++ for the Windows Runtime"
01h 00m“These Aren't the COM Objects You're Looking For”
01h 00m“Latest and Greatest in the Visual Studio Family for C++ Developers 2018”
01h 01mLarge Scale C++ with Modules: What You Should Know
51mNavigating Win32 App Development with WinUI and WPF
25mUpgrade from "permissive C++" to "modern C++" with Visual Studio 2019
01h 04mMaking C++ and the STL Work in the Linux / Windows Kernels
59mDragging C++ into the Modern era
