Drake
Template MetaProgramming

Drake's C++ libraries use a small amount of template metaprogramming to enable more advanced features (autodiff, symbolic computation, etc). We have tried to avoid users having to be expert template programmers, but this is a good reference if you'd like to learn more about generic programming.