Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.
C++ C Objective-C Shell
Latest commit 7c29d87 Aug 7, 2013 Richard Sposato Improved SmartAssert component.
git-svn-id: https://svn.code.sf.net/p/loki-lib/code/trunk@1191 7ec92016-0320-0410-acc4-a06ded1c099a


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  : http://erdani.org 
Soureforge page: http://sourceforge.net/projects/loki-lib/