The #pragma implementation directive tells the compiler the name of the template instantiation file containing the function-template definitions. These definitions correspond to the template declarations in the #include file containing the pragma.
This pragma can appear anywhere that a declaration is allowed. It is used when organizing your program for the efficient or automatic generation of template functions.