title: C++ Template Metaprogramming- not sure I quite get the fuss?
body: <p>As I understand it normal C++ code is translated into assembler at compile time, which is then executed by the CPU at run-time. So I do not quite understand what the fuss is with the advantages of template metaprogramming?</p>
  
  <p>Wikipedia says the following about template metaprogramming:</p>
  
  <blockquote>
    <p>Template metaprogramming is a metaprogramming technique in which
    templates are used by a compiler to generate temporary source code,
    which is merged by the compiler with the rest of the source code and
    then compiled. The output of these templates include compile-time
    constants, data structures, and complete functions. The use of
    templates can be thought of as compile-time execution.</p>
  </blockquote>
  
  <p>This didn't really seem to emphasise the advantages of template metaprogramming to me...? </p>
  
  <p>I'm asking because I am interested in what template metaprogramming could do for optimizing/improving efficiency of low latency C++ applications. I have probably not understood something correctly along the way, so please feel free to correct my understanding.</p>