Павел Кузнецов - Симуляция частичной специализации
- Название:Симуляция частичной специализации
- Автор:
- Жанр:
- Издательство:RSDN Group
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Павел Кузнецов - Симуляция частичной специализации краткое содержание
Симуляция частичной специализации - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Комментарии:
template‹class TRet, class TP1›
class CDelegate1 {
//…
};
template‹class TP1›
class CDelegate1‹bool, TP1› {
//…
};
template‹class TRet, class TP1, class TP2›
class CDelegate2 {
//…
};
template‹class TP1, class TP2›
class CDelegate2‹bool, TP1, TP2› {
//…
};
и т.д…
Андрей 20.3.2003 12:22А мне как то больше понравился такой вариант (где нет статического T _t):
template‹class T›
class IsPointer {
private:
struct TrueType {
char dummy_ [1];
};
struct FalseType { char dummy_ [2]; };
struct PointerShim { PointerShim(const volatile void*);
};
static TrueType ptr_discriminator(PointerShim);
static FalseType ptr_discriminator(…);
static T rett();
public:
enum {value = sizeof(ptr_discriminator(rett())) == sizeof(TrueType)};
};
template‹›
class IsPointer‹void› {
public:
enum {value = false};
};
Кстати, еще неплохо было бы дабавить IsArray, который таки почти смог добить Андрей Тарасевич в одном из топиков форума С++
PS Павел, кстати, эту же статью от вас я уже видел в каком то online издании… Или я ошибаюсь?
Andrew S 7.3.2003 17:50Почему не указал ссылку на boost.org? Там уж намного больше готовых функций, чем ты привёл.
limax 7.3.2003 15:1Интервал:
Закладка: