Loki
| Loki C++ Library | |
|---|---|
| Тип | Обобщённое программирование |
| Разработчик | Андрей Александреску |
| Написана на | C++ |
| Операционная система | Кроссплатформенное ПО |
| Последняя версия | 0.1.7 (29 января 2009) |
| Лицензия | Лицензия MIT |
| Сайт | loki-lib.sourceforge.net |
Loki — библиотека для языка программирования C++, написанная Андреем Александреску как часть книги «Современное проектирование на С++: Обобщённое программирование и прикладные шаблоны проектирования».
Библиотека построена на шаблонном метапрограммировании и активно использует возможности языка C++ для обобщённого программирования.
Локи — бог хитрости и озорства германо-скандинавской мифологии. Автор надеется, что оригинальность и гибкость библиотеки будут напоминать читателям книги норвежского бога.
Разработка
Изначально библиотека работала только с компиляторами, наиболее хорошо поддерживающими стандарт C++, но позже была перенесена (иногда не полностью) на большинство других (включая старые Borland C++ 6 и Visual C++ 6). Разработчики компиляторов часто используют библиотеку как эталонный тест, позволяющий определить совместимость со стандартом.
Loki вышла за пределы книги, продолжает развиваться и новые версии библиотеки доступны на SourceForge.net. Благодаря вкладу множества людей данная библиотека хорошо проверена и обладает высокой отказоустойчивостью.
Состав
- проверки условий на стадии компиляции;
- отображение целочисленных констант на типы;
- списки типов;
- мультиметоды;
- обобщённые реализации шаблонов проектирования: абстрактная фабрика, одиночка, посетитель.
См. также
- Boost — близкая по принципам разработки, но значительно более обширная библиотека;
- Современное проектирование на C++ — книга, для которой изначально разрабатывалась библиотека.
Ссылки
- Loki — домашняя страница библиотеки.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.