a) declare template in header.
b) create "implementation" *.ipp file
e) create *.cpp which
    i) includes the *.ipp file
    ii) explicitly instantiate the template.  This is used to add
precompiled
    instantiations to the serialization libraries.

how can you istantiate the template if you don't have the concrete type yet?

... or have I missed something obvious?

thanks for your info,
Marco