~/talk

Qt Value Class Design

Talkat Qt World Summit 2015 · 2015-10-06..10-07· [software-architecture]
name:Marc Mutz
links:none on file
slides:none on file

Classifies value classes into thin, thick and pimpled designs and gives concrete rules: mark types with Q_DECLARE_TYPEINFO, implement matching QHash and equality consistency, avoid fuzzy-compare equality for hashable types, prefer noexcept member swap plus a namespace swap picked up by QSwap/ADL, and note Qt 5.6 container move-assignment semantics and ongoing smart-pointer work so pimpled types can have inline moves. Lots of examples of broken code, binary-compat pitfalls from exporting non-polymorphic classes, and a pointer to a longer Meeting C++ talk for the full designs.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:09Types of classes in Qt
  3. 4:42Thin and thick abstractions
  4. 6:33Qt features for value classes
  5. 11:51Q_DECLARE_TYPE_INFO and Qash
  6. 16:37Consistent hash functions
  7. 18:03Q_REQUIRED_RESULT and move semantics
  8. 20:29QSwap and ADL
  9. 21:53Exporting non-polymorphic classes
  10. 24:25Binary compatibility pitfalls
  11. 25:50Compiler attributes in Qt
  12. 27:39Summary and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.