Павел Кузнецов - Симуляция частичной специализации
Название: | Симуляция частичной специализации | |
Автор: | Павел Кузнецов | |
Жанр: | Другие языки и системы программирования | |
Изадано в серии: | неизвестно | |
Издательство: | RSDN Group | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Симуляция частичной специализации"
Время от времени при работе с шаблонами возникает необходимость специализировать шаблон класса по одному из аргументов. В качестве примера можно рассмотреть шаблон классов матриц, параметризованный типом элемента и размерами матрицы.
Читаем онлайн "Симуляция частичной специализации". [Страница - 4]
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?
Почему не указал ссылку на boost.org? Там уж намного больше готовых функций, чем ты привёл.limax 7.3.2003 15:1
--">