title: C++ boost forward declaration question
body: <p>I spend some time examining <code>boost::</code> libraries architecture and was interested with the following fact:</p>
  
  <p>In some parts of the libraries a <code>yyy_fwd.hpp</code> idea is used pretty common (see <code>boost/detail</code> or <code>boost/flyweight</code> for examples).</p>
  
  <p>These files obviously contain only forward declarations of some template-based classes and as far as I understand, could benefit in terms of compilation time.</p>
  
  <p><strong><em>Could someone point out in what cases do they help and should I use the same idea when designing my own templates?</em></strong></p>
  
  <p>Thank you.</p>