| 
 |  | 
Manual instantiation is best done by using the C++ language's explicit instantiation directive, since this method is portable across compiler systems. A simple example is:
   class Baseball { };
   
   template<class T>
   class Roster { };
   
   template class Roster<Baseball>;  // explicit instantiation
Manual instantiation can also be controlled through the use of #pragma instantiate, or via the command line through the use of the -T option to CC.