title: constexpr constructor with compile time validation
body: <p>I'd like to build up a class with the option of constexpr-ness. And, of course, I'd like to take advantage of compile time error check.</p>
  
  <p>Every <code>constexpr</code> function, constructor included, must work also at runtime, when the given parameters are not constant expression. That's should be the reason why every time you use <code>static_assert</code> in a <code>constexpr</code> function upon a function parameter it fails to compile.</p>
  
  <p>Said so, I've read that one can use the exception throwing mechnanism, since when the function is called upon a constant expression, those exceptions can be evaluated at compile time. If that works, for functions the problem is solved.</p>
  
  <p>But the problem is still not solved for constructors, since <code>constexpr</code> constructors seem to must have no body... so it looks like I can't use exception throwing from there!</p>
  
  <p>Any idea?</p>