C++ reflection (P2996) and moc: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 9: Line 9:


== Reflection for Standard C++ ==
== Reflection for Standard C++ ==
C++26 will (likely) ship with compile-time reflection. The papers that are relevant here are:
C++26 will (likely) ship with compile-time reflection. The papers that describe features that are relevant for Qt are:


* P2996 "Reflection for C++26" https://wg21.link/P2996
* P2996 "Reflection for C++26" https://wg21.link/P2996

Revision as of 10:34, 27 May 2025

This is a WORK IN PROGRESS page to understand the implications of "Reflection for C++" for the future of Qt and moc.

Some questions that this work aims to answer:

  • Can we replace moc with a pure C++ solution?
    • If yes, how much source code breakage is to be expected?
    • Can porting be automated?
  • Is there something missing from standard C++ that we need for moc?

Reflection for Standard C++

C++26 will (likely) ship with compile-time reflection. The papers that describe features that are relevant for Qt are: