Я уверен, что у boost есть некоторые функции для этого, но я не знаю соответствующих библиотек достаточно хорошо. У меня есть класс шаблонов, который довольно простой, за исключением одного поворота, где мне нужно определить условный тип. Вот код psuedo для чего я хочуОпределения условного типа
struct PlaceHolder {};
template <typename T>
class C{
typedef (T == PlaceHolder ? void : T) usefulType;
};
Как написать такой тип условного?
Интересно. При каких обстоятельствах это будет полезно? Можете привести пример. – Stephen
Вот мой пример. Для одного аргумента шаблона, скажем, TYPE, имеющего значение PlaceHolder, означает «отключить некоторую функцию». Существует множество обратных вызовов с типом возвращаемого типа TYPE *, что естественным значением отключения функции является то, что обратные вызовы имеют тип возвращаемого типа void. usefulType - это возвращаемое значение для обратных вызовов. –
@pythonicmetaphor не могли бы вы изменить принятый ответ? Сейчас разные времена. – Ven