-
DWM: ClearType on composited/translucent surfaces
Defer text rendering to be done by DWM at composition time.
DwmSetDeferredText (HWND, LONG_PTR, RECT, HFONT, ..., LPCWSTR text, int cch); -
Win32 API: Support (w)string_view in place of LPCWSTR
Tagged pointer towstring_view
in place of LPCWSTR parameter, unwrapped internally directly into UNICODE_STRING that NT APIs consume. -
Start Menu: Uninstall command for Win32
Introduce extended IShellLink2 to embed uninstaller path or uninstall registry key into .lnk file so that Start Menu can directly run it, and bring consistency with Store/Moden apps
-
C++ Destructive Move - quick and dirty proposal draft
struct A { ~A (A & a) noexcept { ... } ~A () noexcept -> A { return A{ ... }; } };
-
Fast x86-64 calling convention for C++ Work In Progress
Fully utilize registers, pack smaller structures, spill larger structures. Keep current ABI when interfacing the OS.
Calling convention for modern era.
-
Function-return-statement (akin to function-try-block)
In function definition, where function body would normally begin, or wheretry
statement could appear, an immediatereturn
can now appear too.int fma (int a, int b, int c) return a * b + c;
-
const
andvolatile
impliesauto
const a = 1; // same as: const auto a = 1; volatile b = 2.0; // same as: volatile auto b = 2.0
-
Argument dependent lookup for scoped enumerations
Superseded by Using-enum-declaration
If an argument cannot be found, relevant enum scope is searched too, enabling one to write:enum class color { red, green, blue, }; int function (color c); // ... function (red); // color::red color green = blue; // color::blue function (green); // local variables still have priority