template <int N> struct exp10 { enum { value = 10 * exp10<N-1>::value }; }; template <> struct exp10<0> { enum { value = 1 }; };