Using explicit instantiation declarations (C++11 only)

Use template explicit instantiation declarations to suppress implicit template instantiations. This helps reduce the collective size of the object files and shorten compiler time. This technique is described in Using explicit instantiation declarations (C++11 only).