title: How to reconcile the C++ idiom of separating header/source with templates?
body: <p>I'm wondering a bit about this templating business.</p>
  
  <p>In C and C++ it is very common to put declarations in header files and definitions in source files, and keep the two completely separate.  However, this doesn't even seem to be possible (in any great way) when it comes to templates, and as we all know, templates are a great tool.</p>
  
  <p>Also, Boost is mostly headers, so this is a real issue. Is separating headers and source still a good idea in C++, or should I just not rely heavily on templates?</p>