Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.

Last update: Novmber 16, 2005


To use Loki, simply extract the files from the archive, 
give your compiler access to their include path:

- if you have a standard conforming compiler use "loki/include/loki" 
  or "loki/include" for "#include <loki/HeaderFile.h>" usage

- if you have a non-conforming compiler use "loki/include/noncc/loki" 
  or "loki/include/noncc" for "#include <loki/HeaderFile.h>" usage. 
  The noncc files are declared as 'deprecated' and will be removed in
  future. They are also not updated with the new features of Loki 
  and bugfixes (unless YOU do it).

If you use the small object allocator directly or indirectly 
(through the Functor class) you must add src/SmallObj.cpp to your 

If you use Singletons with longevity you must add 
src/Singleton.cpp to your project/makefile.

If you use OrderedStatic.h with you must add 
src/OrderedSataic.cpp to your project/makefile.

Or use the library generated by make.msvc.bat, make.mingw.bat,
or make.


Supported Compilers:
Gcc v3.4
Gcc v4.0
Gcc v4.1
Microsoft Visual C++ v7.1
Microsoft Visual C++ v8.0

by special noncc files:
Borland C++ Builder v6.0
Microsoft Visual C++ v6.0
Microsoft Visual C++ v7.0
see also readme.txt files

Mostly Supported:
CodeWarrior 6.0

CodeWarrior has a problem with the Conversion template (see TypeManip.h) 
and, though it compiles it, it doesn't provide correct results. 
Consequently, the DerivedToFront algorithm in Typelist.h does not function. 
This affects the static dispatcher in Multimethods.h. As a fix, you must 
order the types (putting the most derived ones in the front) when providing 
the typelist argument to StaticDispatcher.

More info:

Andrei's page  : 
Soureforge page:
Something went wrong with that request. Please try again.