~/talk

Leveraging C++20/23 Features for Low Level Interactions

Talkat CppCon 2024 · on Tuesday, 2024-09-17· at 14:00· Cottonwood 2/3, 6700 North Gaylord Rockies Boulevard· [rust]
links:none on file
slides:none on file

Shows concrete techniques: uses inout_ptr/out_ptr to avoid stale raw pointers crossing into C, initializes smart pointers to MMIO with a type-specific custom deleter so hardware never gets deleted, defines register layouts as packed volatile aligned structs and casts base addresses with reinterpret_cast, and moves bit math into the compiler with constexpr utilities and std::bit_cast/byte-swap helpers for endian and swizzle work. Examples include testable dependency-injected register mocks and compile-time checks.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30Why C dominates hardware
  3. 5:28C++ for hardware & bit manipulation
  4. 8:37Smart pointers with C APIs
  5. 14:00Breaking kernel-centric C
  6. 15:23Naive vs modern hardware access
  7. 23:36Register access with structs
  8. 28:32Smart pointers for hardware
  9. 30:01Managing register interactions
  10. 34:18Strong typing for bit manipulation
  11. 39:12C++26 hardware features
  12. 41:22Safety in hardware C++
  13. 57:11Q&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.