title: Do templates actually have to be compile-time constructs?
body: <p>Does the C++ Standard actually <em>mandate</em> that templates must be instantiated at compile-time, not run-time?</p>
  
  <p>If not, is it a convention that we use purely because it obviously makes sense to do it that way? Or is there some practical reason that would, theoretically, prevent an implementation from existing that can instantiate templates at run-time?</p>