Skip to content

Au documentation

Welcome to the Au library! Au (pronounced “ay yoo”) is a C++14-compatible units library, by Aurora. Its key strengths include safety, accessibility, performance, and developer experience.

The library source is on GitHub, at aurora-opensource/au.

Getting started

These pages will be most useful as you begin your Au journey:

  • Alternatives. First off: is Au the right fit for your needs? What else is out there? This page gives a detailed comparison to some of the most prominent other C++ units libraries.

  • Supported Compilers. Au aims to work with any C++ compiler that fully supports C++14 or later. That said, some platform/compiler combinations have more detailed data. Learn about our tiers of support and what it takes to add a specific compiler.

  • Installation. Once you’re ready to try it out, here’s how. You can be up and running in any project within minutes!

  • Tutorials. Start with Au 101: Quantity Makers, and go forward from there. You’ll learn the basic library concepts, and get some hands on experience with the included exercises.

Continuing your journey

Once you’re up and running with the library, these pages will be handy tools to help you use it more effectively:

  • Troubleshooting. A guide to the most commonly encountered types of error, what they mean, and how to fix them. Take key snippets from your compiler errors, and use in-page search to get help!

  • How-to guides. Step-by-step instructions for accomplishing common tasks you may encounter in using the library.

  • Reference. Detailed reference documentation on Quantity, QuantityPoint, units, magnitudes, and other core library abstractions.

We also have a GitHub Issues page for tracking problems and future work. If you have a bug report or feature request, check the existing issues to see if it’s been posted, and file a new one if it hasn’t. While we can’t promise timely resolution, we will do our best to respond quickly so you know both that you’ve been heard and where we stand on the issue.

Tip

Feel free to vote for existing issues by reacting to the main post with the 👍 emoji: we’ll take this into account in prioritizing what to work on!

Shoring up foundations

When you’re looking to understand the library better (as opposed to actively trying to accomplish some task), these docs will help you strengthen your foundations.

  • Discussion. Philosophy and principles, deep dives on design choices, explanations of core concepts, and more.