Можно ли подружить класс, все возможные варианты шаблона класса?
Просто для пояснения, например, примерно так:
class A
{ friend template B; } // syntactic error yeah
Так что любой Вариант B<X>
может управлять любым защищенным атрибутом A
.
A
- небольшой и простой класс с множеством друзей, которые манипулируют его атрибутами. Только один из них должен быть шаблоном. Я знаю, что могу это сделать:
template <class T>
class A
{ friend class B<T>; }
Но поэтому мне пришлось бы изменить свой код во всех других друзьях, и я бы хотел этого избежать.