Да, подход к шаблонам абсолютно правильный и иначе с ними ничего не поделаешь --
1) надо либо все определять в единице трансляции (как ты предлагаешь) (ибо слово export почти нигде не работает и девелоперы компиляторов его ругают)
2) либо извращаться по особому и заставлять инстанциировать конкретные, нужные нам специализации в специально отведенных для этого единицах
D>Удачи!
спасибо!