~/talk

Reusable Code, Reusable Data Structures

slides:none on file

Concrete rules for reuse: prefer small generic functions that state minimal requirements (rectangles, ranges) and use customization points like global overloads or an output function; use compile‑time patterns such as CRTP vs template base classes when code and per‑instance data must travel together; prefer intrusive containers for owned-but-polymorphic widgets and hide runtime polymorphism with the Sean Parent wrapper for extensibility; an earlier heavy polymorphic drag‑handle design is replaced by a simple draw‑time hover check and reduces needless objects and indirection.

AI-written summary · about

  1. 0:00Introduction
  2. 2:11Motivating reusable code
  3. 7:26Generalizing algorithms
  4. 10:15Generic functions in C++
  5. 11:38Customizing generic functions
  6. 17:16Sharing code and data
  7. 21:11Avoiding inheritance
  8. 23:16Runtime polymorphism trade-offs
  9. 25:03Polymorphic inheritance in UIs
  10. 28:36Intrusive containers
  11. 30:20External polymorphism
  12. 33:59When not to use polymorphism
  13. 36:49Dangers of std::variant
  14. 39:17Conclusion
~/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.