Using Separate Files
So when should we use export and when should we
simply include our function template implementations in
our client code?
When we have large functions or when their are many
type dependencies or specializations, it is often easier to
debug our code by using separate compilation units and
use the exporting process.
On the other hand, if we have small function templates,
few type dependencies, and limited (to no) specialized
templates, then there may be no advantage to compiling
them separately.