Note: C++0x is a new version
of the C++ programming language standard. This is a draft standard
and has not been officially adopted in its entirety. The implementation
of C++0x is based on IBM's interpretation of the draft
C++0x standard and is subject to change at any time without notice.
IBM makes no attempt to maintain compatibility with earlier releases
and therefore the C++0x language extension should not be relied on
as a stable programming interface.
Use the explicit instantiation declarations feature to suppress
the implicit instantiation of a template specialization or its members.
This helps reduce the collective size of the object files and shorten
compile time.
This technique is described in Using explicit instantiation declarations (C++0x).