Loki (biblioteka)
Loki – biblioteka programistyczna C++ napisanej przez Andreia Alexandrescu jako część książki Nowoczesne programowanie w C++.
Autor | Andrei Alexandrescu |
---|---|
System operacyjny | Wieloplatformowość |
Rodzaj | Programowanie generyczne |
Licencja | MIT |
Strona internetowa |
Biblioteka korzysta z metaprogramowania i implementuje kilka często używanych narzędzi takich jak: lista typów, funktor, singleton, sprytny wskaźnik, fabryka obiektów, wizytator oraz multimetoda.
Początkowo biblioteka była kompatybilna jedynie z dwoma kompilatorami najbliższymi standardowi języka C++ (CodeWarrior oraz Comeau C/C++). Późniejsze prace umożliwiły użycie biblioteki z szeroką gamą kompilatorów (włączając starsze Visual C++ 6.0, Borland C++ Builder 6.0 i GCC). Wytwórcy kompilatorów używają biblioteki Loki jako test kompatybilności, dzięki czemu liczba zgodnych kompilatorów wciąż rośnie[potrzebny przypis].
Utrzymanie i rozwój Loki są kontynuowane przez społeczność open-source prowadzoną przez Petera Kümmela i Richarda Sposato jako projekt SourceForge. Kontrybucje wielu osób zwiększyły ogólną niezawodność i funkcjonalność biblioteki. Loki nie jest już jedynie częścią książki, ale posiada wiele nowych komponentów (np. StrongPtr, Printf czy Scopeguard). Loki zainspirowało podobne narzędzia i funkcjonalności obecne w kolekcji bibliotek Boost[potrzebny przypis].