From what I understand template classes and template functions (for the most part) must be declared and defined in the same header file. With that said:
Are
A further problem is the compile times every time you change the .h (especially if it is included in a lot of places)