Описанная техника позволяет использовать преимущества частичной специализации шаблонов классов даже в случае отсутствия соответствующей поддержки со стороны компилятора. Комбинация приведенной методики с метафункциями при необходимости позволяет описывать достаточно сложные условия специализации шаблонов.
Единственным «серьезным» требованием к компилятору является наличие реализации шаблонов членов классов. Симуляция частичной специализации была проверена на следующих компиляторах:
•Microsoft Visual C++ 7.0 aka .NET
•Microsoft Visual C++ 6.0 SP4, SP5
•Intel C++ Compiler 4.0, 5.1, 6.0
•Borland C++ Command-line Compiler 5.51, 5.6
•GNU GCC 2.95.3-5
•Comeau C++ Compiler Online Version (compiled only)
Хотя последние четыре и поддерживают частичную специализацию, иногда может быть полезным прибегать к технике симуляции в случае одновременного использования нескольких компиляторов, один из которых «не дорос» до частичной специализации. При этом удобно, если использование условной компиляции можно минимизировать.