title: What is (in simple understanding) narrow contract and wide contract in terms of c++ interface(s)?
body: <p>While walking through some <code>c++11</code> concepts, I came across the terms <code>narrow contract</code> and <code>wide contract</code>.</p>
  
  <p>But I failed to figure out a simple function example(s) which is/are written for these contracts.</p>
  
  <p><strong>Can I see a simple function example that distinguishes between these two contracts?</strong></p>