“CopperSpice: A Pure C++ GUI Library"
summary
CopperSpice is a Qt 4.8 fork that removes moc and implements pure C++11 reflection using variadic templates, type_traits, constexpr and a compile‑time counter trick so all type information survives signal/slot emission (no void reinterpret_casts). Build uses autotools with contributed CMake/Ninja files; supported compilers are GCC ≥4.7 and Clang ≥3.4 (MSVC unsupported). It ships a PepperMill converter* to upgrade Qt code, a KitchenSink demo and doxyPress app, delivers queued cross‑thread signal delivery, and is licensed GPL/LGPL.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:46Why we Developed CopperSpice
- 6:23What is CopperSpice
- 8:17Advantages of CopperSpice
- 9:48CopperSpice Libraries
- 11:22CopperSpice Supported Compilers
- 12:26CopperSpice Internals
- 13:24What is Reflection
- 17:51Sample Mac Code
- 21:30Runtime Activation
- 22:07Techniques used to implement Reflection
- 22:59Implementation
- 23:45Template Class with an integer Argument
- 26:18Example Class after preprocessing
- 28:01Macro SLOT Expansion after pre-processing
- 35:13Challenges with CopperSpice
- 37:18CopperSpice Work in Progress
- 42:37Future Plans for CopperSpice
- 46:46How to contribute to CopperSpice
- 48:49Kitchen Sink Application
- 49:42Libraries & Applications
- 54:46Where to find CopperSpice
related talks
31mThe secret to enhancing Qt for Python applications
01h 04mKeynote: Learn Programming, then Learn how to Be a Programmer
01h 33mC++20 + Lua = Flexibility
36mC++ Development with Visual Studio Code
01h 08mQt Quick Components: The Future of Qt Widgets
53mStandard C++ Toolset
01h 29mValue-oriented design in an object-oriented system
08mLightning Talk: Coccinelle for C++
