Я не понял зачем параметризовать параметрами открытия шаблон?
В моём понимании параметры открытия должны быть параметрами конструктора.
Иначе (пример грубый) — если у тебя функция принимает файл, то тебе прийдётся явно указывать в параметрах функции что этот файл должен быть FileOpening::OpenExisting.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>