title: What is the difference between a trait and a policy?
body: <p>I have a class whose behavior I am trying to configure.</p>
  <pre><code>template&lt;int ModeT, bool IsAsync, bool IsReentrant&gt; ServerTraits;
  </code></pre>
  <p>Then later on I have my server object itself:</p>
  <pre><code>template&lt;typename TraitsT&gt;
  class Server {…};
  </code></pre>
  <p>My question is for my usage above is my naming misnamed? Is my templated parameter actually a policy instead of a trait?</p>
  <p>When is a templated argument a trait versus a policy?</p>