A four-bit adder implemented entirely with template metaprogramming