Loki
Loki — библиотека для языка программирования C++, написанная Андреем Александреску как часть книги «Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования».
Loki C++ Library | |
---|---|
Тип | Обобщённое программирование |
Разработчик | Андрей Александреску |
Написана на | C++ |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 0.1.7 (29 января 2009) |
Лицензия | Лицензия MIT |
Сайт | loki-lib.sourceforge.net |
Библиотека построена на шаблонном метапрограммировании и активно использует возможности языка C++ для обобщённого программирования.
Локи — бог хитрости и озорства германо-скандинавской мифологии. Автор надеется, что оригинальность и гибкость библиотеки будут напоминать читателям книги норвежского бога.
Разработка
Изначально библиотека работала только с компиляторами, наиболее хорошо поддерживающими стандарт C++, но позже была перенесена (иногда не полностью) на большинство других (включая старые Borland C++ 6 и Visual C++ 6). Разработчики компиляторов часто используют библиотеку как эталонный тест, позволяющий определить совместимость со стандартом.
Loki вышла за пределы книги, продолжает развиваться и новые версии библиотеки доступны на SourceForge.net. Благодаря вкладу множества людей данная библиотека хорошо проверена и обладает высокой отказоустойчивостью.
Состав
- проверки условий на стадии компиляции;
- отображение целочисленных констант на типы;
- списки типов;
- мультиметоды;
- обобщённые реализации шаблонов проектирования: абстрактная фабрика, одиночка, посетитель.
См. также
- Boost — близкая по принципам разработки, но значительно более обширная библиотека;
- Современное проектирование на С++ — книга, для которой изначально разрабатывалась библиотека.
Ссылки
- Loki — домашняя страница библиотеки.