Mirror of the Loki library from Alexandrescu.
Find a file
rich_sposato fbb100b84c Reimplemented SmallObject Allocator to provide all 3 forms of new and
delete operators with appropriate exception safety level for each, and
greater efficiency for all.


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@146 7ec92016-0320-0410-acc4-a06ded1c099a
2005-04-07 05:36:44 +00:00
Borland September 25, 2004: Fixed bug in PrototypeFactoryUnit::GetPrototype, thanks to a bug report submitted by funcall 2004-09-26 06:44:17 +00:00
MSVC Reimplemented SmallObject Allocator to provide all 3 forms of new and 2005-04-07 05:36:44 +00:00
Reference fix bug reported by synteticpp - make Functor function call member const 2004-11-17 15:54:59 +00:00
tools Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
AbstractFactory.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
AssocVector.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
DataGenerators.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
EmptyType.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Factory.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Functor.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
HierarchyGenerators.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
LokiTypeInfo.h fix bug 787388 2003-08-19 10:58:14 +00:00
MultiMethods.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
NullType.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
readme.txt no message 2002-08-29 05:34:04 +00:00
Singleton.cpp fix bug 960061 2004-08-04 14:56:18 +00:00
Singleton.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
SmallObj.cpp fix bug 960061 2004-08-04 14:56:18 +00:00
SmallObj.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
SmartPtr.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
static_check.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Threads.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Tuple.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Typelist.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
TypeManip.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
TypeTraits.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00
Visitor.h Fix various issues related to stability when using highly compliant compilers such as Comeau 4.3.0.1, VC7.1 and GCC 3.2 2003-02-27 20:09:08 +00:00

Last update: Aug 29, 2002

Directions:

To use Loki, simply extract the files from the archive, give your compiler access to their path, and include them appropriately in your code via #include.

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

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


Compatibility:

Supported Compilers:
Gcc v2.95.3
Microsoft Visual C++ v7.0
Borland C++ Builder v6.0

Mostly Supported:
CodeWarrior 6.0

TypeList:
Microsoft Visual C++ v6.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:

http://moderncppdesign.com
http://sourceforge.net/projects/loki-lib/
http://sourceforge.net/projects/loki-exp/