Loki (C++)
From Wikipedia, the free encyclopedia
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): later efforts have made it usable with a wide array of compilers (including older Visual C++ 6.0 and Borland C++ Builder 6.0). Compiler vendors used Loki as a compatibility benchmark, further increasing the number of compliant compilers.
Maintenance and further development of Loki has been continued through the 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 of the library. Loki inspired similar tools and functionality now also present in the Boost library collection.
[edit] See also
- Modern C++ Design, book describing the library
- Boost, large collection of C++ libraries