С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Библиотека метапрограммирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ HOOK для продвинутых http://www.cyberforum.ru/cpp/thread401949.html
Есть полностью работоспособная пара DLL и EXE реализующая CBT-HOOK. Хочу расширить проект: в CBTProc могу парсить только заголовок окна GetWindowText, допустим я отловил событие explorer.exe - как...
C++ Создание программы, которая управляет каталогом файлов. Люди помогите пожалуйста составить программу. Тема: Составить программу, которая управляет каталогом файлов. Сведения о каждом файле содержат: • Имя файла; • Дата создания • Количество... http://www.cyberforum.ru/cpp/thread397757.html
Кортежи, метафункции и все, все, все. C++
Цель — модифицировать заданный кортеж (например, "std::tuple") путём добавления в него новых типов или удаления существующих. Сперва попробовал создать кортеж при помощи "boost::mpl::vector" и...
C++ 2 камеры в OpenCV
Здравствуйте. У меня возникла вот такая проблема. Я работаю с изображениями с камеры в OpenSUSE, используя OpenCV. Когда я читаю изображение с камеры самым простейшим кодом: #include...
C++ Шифрование PKI http://www.cyberforum.ru/cpp/thread388999.html
нужна программа, написанная на любом виде языке программирования, которая осуществляла метод шифрования PKI. Если есть такая программка, пожалуйста, расскажите в кратце код...Заранее пасЫбо=)
C++ MPI и Borland C++ 5.0 Может, кто-нибудь знает, как настроить Borland C++ 5.02 на работу с библиотекой mpi? файлы в include, lib переместила, но как присоединить эту библиотеку к проекту - ума не приложу. Помогите,... подробнее

Показать сообщение отдельно
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501

Библиотека метапрограммирования - C++

10.12.2011, 15:08. Просмотров 5390. Ответов 54
Метки (Все метки)

Увлекшись метапрограммированием, начатым в предыдущей теме, я решил написать небольшую библиотеку метафункций.

Изначально всё это предназначалось для работы с кортежами, но на самом деле оно применимо к любым шаблонным классам. В том числе возможна совместная работа с библиотекой "Boost.MPL" (но очень осторожная, т.к. в "Бусте" не используются списки типов переменной длины).

Отличие от аналогов, в том числе того же "Boost.MPL" состоит, в основном, в том, что результат всех метафункций предсказуем (в "Бусте" он неопределён). Второе отличие — отсутствие теоретических ограничений на количество типов в шаблонах.

Есть и новшества: я ввёл новый результат метафункции — шаблон, он же "pattern" (т.к. "template" уже является ключевым словом). Смысл его следует из названия: это не тип ("type") и не значение ("value"), а шаблон класса, который может быть в дальнейшем конкретизирован новыми типами (см. метафункцию "get_pattern").

Это первый вариант библиотеки, не влючающий итераторы. Они появятся в следующей версии.
Прошу ознакомиться, кому не лень, и с нетерпением жду отзывов и предложений.

Исходники, так же доступны и на GitHub: https://github.com/izvolov/Meta
клонировать так: git clone git://github.com/izvolov/Meta.git
6
Вложения
Тип файла: zip meta.zip (46.7 Кб, 47 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.