Re: как реализовать идею "мультитипа"?
От: Vain Россия google.ru
Дата: 31.05.10 12:27
Оценка:
Здравствуйте, wobist, Вы писали:

W>Выделяется два или более любых типа, Type1...TypeN, для которых реализуется такая шаблонная функция:

W>...
W>так, чтобы полноценно работал механизм выбора перегруженных функций через SFINAE, как реализовать набор типов?
Тогда нужно сделать уже перегруженные функции частью шаблона, а внутри дергать имплементацию.
template<class T1, class T2>
void f_impl_tmpl(T1 &t1, T2 &t2);
void f_impl(OutListType1 &t1, OutListType2 &t2);
void f_impl(OutListType3 &t1, OutListType4 &t2);

template<class T1, class T2> void f(T1 &t1, T2 &t2)
{

  if(<T1 из набора Type1...TypeN> || <T2 из набора Type1...TypeN>)
  {
    return f_impl_tmpl(t1,t2);
  }

  return f_impl(t1,t2);
}

Пойдёт?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.