Loki (C++)
Developer(s) | Andrei Alexandrescu |
---|---|
Stable release | 0.1.7 / January 29, 2009 |
Written in | C++ |
Operating system | Cross-platform |
Type | Generic programming |
License | MIT Licence |
Website |
loki-lib |
Loki is the name of a C++ software library written by Andrei Alexandrescu as part of his book Modern C++ Design.
The library makes extensive use of C++ template metaprogramming and implements several commonly used tools: typelist, functor, singleton, smart pointer, object factory, visitor and multimethods.
Originally the library was only compatible with two of the most standard conforming C++ compilers (CodeWarrior and Comeau C/C++): later efforts have made it usable with a wide array of compilers (including older Visual C++ 6.0, Borland C++ Builder 6.0, and GCC). Compiler vendors used Loki as a compatibility benchmark, further increasing the number of compliant compilers.[1]
Maintenance and further development of Loki has been continued through an open-source community led by Peter Kümmel and Richard Sposato as a SourceForge project. Ongoing contributions by many people have improved the overall robustness and functionality of the library. Loki is not tied to the book anymore as it already has a lot of new components (e.g. - StrongPtr, Printf, and Scopeguard). Loki inspired similar tools and functionality now also present in the Boost library collection .
See also
References
- ↑ C++ and Beyond 2011: "Ask Us Anything" session, http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2011-Scott-Andrei-and-Herb-Ask-Us-Anything at 51:40-51:51