Skip to content

Compilation and extension of the Loki library from Modern C++ design.

License

Notifications You must be signed in to change notification settings

monkeyiq/libferrisloki

Repository files navigation

Branched main loki tree into new libferrisloki library and added some extensions
in FerrisLoki/Extensions.hh. This tree will be synced with the main loki tree
and is aimed at Linux development.

Loki library adapted for Linux and containing extensions
in Extensions.hh that have not been feed back into the
main Loki tree yet. Note that the main library has been
renamed to libferrisloki and headers installed into
FerrisLoki/ in include so as to highlight that this is
not the standard version.

Changes and extensions done by Ben Martin.

This version of loki also requires libsigc++-2.x to build. 
This could become a build dependent requirement, but
since I have sigc++ on all systems I don't want to spend
the time #ifdefing it at current.

-------------------------------------------------------------------
Based on the mainstream Loki library which has the following README
This should be the loki that was released on sf.net loki-0.1.6
previous sync (prior to ferrisloki 2.4.x) was done on loki-13april2003 (0.0.3)
-------------------------------------------------------------------

Last update: Novmber 16, 2005

Directions:

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 
project/makefile.

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.


Compatibility:

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/

About

Compilation and extension of the Loki library from Modern C++ design.

Resources

License

Stars

Watchers

Forks

Packages

No packages published