The Au C++ Units Library: Handling Physical Units Safely, Quickly, & Broadly - Chip Hogg - CppCon 23

Discover how the Au C++ Units Library accelerates development and ensures safe handling of physical units, with features like automatic conversion, vector support, and error prevention.

Key takeaways
  • A units library is necessary to handle physical units safely, quickly, and broadly.
  • AU (Au C++ Units Library) is a new open-source library that provides a simple, easy-to-use, and robust way to handle physical units.
  • AU is designed to be very accessible and low-friction, making it easy to use and integrate into projects.
  • The library is focused on providing robust support for integer types and automatic conversion between different units.
  • AU includes a compatibility layer for other popular units libraries, making it easy to migrate code.
  • The library is designed to be modular and composable, allowing users to create custom units and interfaces as needed.
  • AU includes features such as automatic unit generation, vector space magnitudes, and smart inverses.
  • The main value of a units library is to accelerate development and provide a way to handle physical units safely, quickly, and broadly.
  • A units library should be designed to provide a simple, easy-to-use, and robust way to handle physical units, and should be focused on providing robust support for integer types and automatic conversion between different units.
  • The practical effect of using a units library is that users feel empowered to choose whatever integer types best suit their program, because they know that the library is watching out for dangerous conversions.
  • A units library can help to prevent bugs and errors, and can make it easier to write correct and efficient code.
  • AU is a good 90% solution, and is a top-notch units library that you can use today.
  • The library also serves as a vehicle for designing and exploring new ideas and concepts in the field of units and physical units.
  • The main value of a units library is to accelerate development, and to provide a way to handle physical units safely, quickly, and broadly.