~/talk

A C++ Approach to Physical Units

Talkat CppCon 2019 · 2019-09-15..09-20· [software-architecture]
slides:none on file

A C++20 header-only library implements dimensional analysis with compile-time safety and no runtime overhead, using concepts, class types as non-type template parameters, CRTP strong typedefs and a quantity type distinct from std::chrono::duration. It avoids std::ratio limits by planning larger integer support, uses make_dimension and democratic traits to normalize exponent lists, and emits clearer diagnostics than Boost.Units. Requires a recent compiler (GCC 9.1+ for experimentals); source and examples are on GitHub.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 0:53Mars Climate Orbiter disaster
  3. 3:24Personal motivation for physical units
  4. 6:36Challenges with current unit handling
  5. 8:42SI units and dimensional analysis basics
  6. 11:52Current libraries overview
  7. 13:16Boost.Units deep dive
  8. 17:53Boost.Units usage example
  9. 18:35Boost.Units benefits and drawbacks
  10. 19:40Nico Josuttis' library review
  11. 21:52Unit design philosophy
  12. 22:35User experience issues with libraries
  13. 27:16Template metaprogramming challenges
  14. 32:54Proposed library design principles
  15. 34:38C++20 concepts and user experience
  16. 36:47Performance and type safety
  17. 38:16Library architecture overview
  18. 41:02Unit and dimension creation
  19. 43:13Quantity operations and temperature
  20. 44:15Quantity interface and strong types
  21. 47:18Strong types and inheritance
  22. 49:03Derived quantity classes
  23. 50:33Concepts in the proposed library
  24. 51:57Debugging and compiler support
  25. 53:20Contracts and future standards
  26. 54:47Extending with custom units
  27. 56:56Next steps and standardization
  28. 59:06Q&A session
~/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.