Odin Holmes


Odin Holmes has been programming bare metal embedded systems for 15+ years and, as any honest nerd admits, most of that time was spent debugging his stupid mistakes. With the advent of the 100x speed up of template metaprogramming provided by C++11 his current mission began: teach the compiler to find his stupid mistakes at compile time so he has more free time for even more template metaprogramming.

Odin Holmes is the author of the kvasir::bit library, a DSL which wraps bare metal special function register interactions allowing full static checking and a considerable efficiency gain over common practice. He is also active in building and refining the tools need for this task such as the brigand MPL library, the kvasir::mpl. He is also a contributor the SG14 working group and co-organizer of the embo.io bare metal embedded conference.



The fastest template metaprogramming in the West (2017)

Although a talk on a C++11 metaprogramming may seem outdated in 2017 we have only recently found new ways to leverage aliases to do much of the heavy lifting. More alias use as well as some key implementation details allow us to beat other libraries, more modern language features and even some compiler intrinsics in compilation speed. This talk will outline the advantages of the continuation style metaprogramming which we developed in the kvasir::mpl library. It will also discuss some concrete use cases including ways to interface with Boost.Hana when a run time component is not needed.