Re[5]: Не могу явно инстанцировать шаблон функции-члена
От: andyp  
Дата: 11.10.18 14:12
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Я бы с удовольствием, но у меня много кода под виндовое ядро, там std [почти] нет, а выдирать и тащить фрагментами — то еще удовольствие. Ну и очень желательно сделать все средствами VC++ 15.00 (из VS 2008 и WDK 7).


Я про ядро и возможности VS2008 мало знаю (.

Сухая идея — избавиться от второго параметра шаблона функции выводя тип результата из типа аргумента функции, используя трейты для нужных типов. Всё, что использовал, живет в cstdint и type_traits и может быть использовано без С++11, если использовать enable_if<...>::type вместо enable_if_t и typedef вместо using.


Если совсем уж без стандартных заголовков, то примерно вот велосипедные is_same и enable_if:


template<typename First, typename Second> is_same{static const bool value = false;};
temaple<typename T> is_same<T, T>{static const bool value = true;}


template<bool Key, class T = void> struct enable_if{};
template<class T> struct enable_if<true, T> {typedef T type;};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.