Template model
The template model used by IBM® XL C/C++ for Linux, V13.1.1 is different from that used with previous versions of the compiler.
IBM XL C/C++ for Linux, V13.1.1 supports Greedy instantiation. The compiler generates a template instantiation in each compilation unit that uses it. The linker discards the duplicates.
For more information about the C++ template model, see The C++ template model