Русская Википедия:Loki
Шаблон:Другие значения Шаблон:Карточка программы Loki — библиотека для языка программирования C++, написанная Андреем Александреску как часть книги «Современное проектирование на C++: Обобщенное программирование и прикладные шаблоны проектирования».
Библиотека построена на шаблонном метапрограммировании и активно использует возможности языка C++ для обобщённого программирования.
Локи — бог хитрости и озорства германо-скандинавской мифологии. Автор надеется, что оригинальность и гибкость библиотеки будут напоминать читателям книги норвежского бога.
Разработка
Изначально библиотека работала только с компиляторами, наиболее хорошо поддерживающими стандарт C++, но позже была перенесена (иногда не полностью) на большинство других (включая старые Borland C++ 6 и Visual C++ 6). Разработчики компиляторов часто используют библиотеку как эталонный тест, позволяющий определить совместимость со стандартом.
Loki вышла за пределы книги, продолжает развиваться и новые версии библиотеки доступны на SourceForge.net. Благодаря вкладу множества людей данная библиотека хорошо проверена и обладает высокой отказоустойчивостью.
Состав
- проверки условий на стадии компиляции;
- отображение целочисленных констант на типы;
- списки типов;
- мультиметоды;
- обобщённые реализации шаблонов проектирования: абстрактная фабрика, одиночка, посетитель.
См. также
- Boost — близкая по принципам разработки, но значительно более обширная библиотека;
- Современное проектирование на C++ — книга, для которой изначально разрабатывалась библиотека.
Ссылки
- Loki — домашняя страница библиотеки.