Loki/CHANGES

274 lines
8.5 KiB
Text
Raw Normal View History

_____________________________________
Version 0.1.4
?????, 2006
_____________________________________
General:
- helper templates for Pimpl/Rimpl implementations added (pk)
- improved Makefiles (lf)
- improved make.msvc.bat files (pk)
- cvs LOG keywords added (rs)
- removed old c style casts (lf)
- more warning enabled on gcc (lf)
- new header added: ConstPolicy.h (rs,pk)
- new header added: RefToValue.h (rs,pk)
- standard RPM specification file for integrated installation
on OpenSUSE Linux added (Thanks to Andreas Scherer, pk)
- using Loki as shared library is now possible (pk,lf)
Function:
- guard including (pk)
- test stsic functions (pk)
- test LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT (pk)
Functor:
- Added explicit call to base copy-constructor (rs)
- Changed base class from SmallObject to SmallValueObject. (Thanks to Sam Miller, rs)
- add possibility to disable inheritance from SmallValueObject: LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT (pk)
ScopeGuard:
- naming conflict with SmartPtr removed (rs,pk)
- ByRef moved to RefByVale (rs,pk)
Singleton:
- support of allocators with a standard interface added (Thanks to Miguel A. Figueroa-Villanueva, pk)
- convenience template Singleton added for shared libraries (Thanks to Marcus Lindblom, pk)
- example added which shows how to use Singletons with shared libraries added (Thanks to Marcus Lindblom, pk)
SmartPtr:
- supports propagating constness by additional policy (rs,pk)
- ArrayStorage policy added (Thanks to Sam Miller, pk)
- fix in RefCounted for Mac OSX gcc 4.0.0 (Thanks to Sam Miller, pk)
- RefCounted ported to 64 bit (pk)
- add mutex policy (pk)
- new test code (rs)
- RecjectNullStrict const member function added (Thanks to Sam Miller, pk)
- Moved a monolithic RefLinkedBase class from header file to new source file. (rs)
- ByRef moved to RefToVale (rs,pk)
- Fixed bug 1425890. Last SmartPtr in linked chain NULLs its prev & next
pointers to prevent infinite recursion. Added asserts. (rs)
- Bug fix: infinite recursion in SmartPtr destructor (rs)
LockingPtr:
- wrong return types fixed (rs)
- add mutex policy (rs,pk)
- supports now propagating constness (pk,rs)
- macro switch LOKI_DEFAULT_CONSTNESS added for propagating constness (pk)
- multi threaded example added
SafeFormat:
- definition moved to src/SafeFormat.cpp, it's now part of the library
Singleton:
- add mutex policy (pk)
SmallObj:
- add mutex policy (pk)
- Added check for memory leak inside destructor. (Thanks to Kwak Jae Hyuk, rs)
Threads:
- Mutex added (rs,pk)
- use Loki::Mutex instead of win32/posix mutexes in threading classes (rs,pk)
CVS commits by Rich Sposato (rs), Lukas Fittl (lf)
and Peter K<>mmel (pk)
_____________________________________
Version 0.1.3
January 9, 2006
_____________________________________
General:
- LockPtr added (rs)
- ScopeGuard added (pk,rs)
- improved Makefiles (lf,pk)
- several gcc fixes and removed warnings by Lukas Fittl (lf)
- tested on 64-bit Linux (pk)
- MS Visual C++ 2005 project files added (pk)
- now also the ms toolkit 2003 generates a library (pk)
OrderedStatic:
- point operator added (pk)
SafeFormat:
- moved into namespace Loki (pk)
- 64 bit problems fixed (Thanks to Zak Kipling)
- ported to 64-bit Windows, not tested (pk)
- Printf/SPrintfing of std::strings added (pk)
- all warnings removed gcc and msvc (pk)
- use snprintf for "%p"
- test program: speed comparison added (pk)
SmallObject:
- added functions to check for memory corruption (rs)
- more fine tuning (rs)
- warnings removed (pk)
TypeTraits:
- bug 1388477 fixed (pk)
flex_string:
- fixed compare bug by updating (Thanks to Justin Matthews, pk)
- fixed seg faults on Linux and Windows (pk)
- improved error reporting of the test program (pk)
SmartPtr:
- make object level locking possible (Thanks to Ryan Smith, pk)
BindFirst:
- store Functor arguments by value (bug 1383566) (pk)
Visitor:
- add support for visiting constant member functions (pk)
- example added (pk)
ScopeGuard:
- example added (pk)
CVS commits by Rich Sposato (rs), Lukas Fittl (lf)
and Peter K<>mmel (pk)
_____________________________________
Version 0.1.2
November 16, 2005
_____________________________________
General:
- changes to compile under Linux (Thanks to David Lawrence, pk)
- more doxygen documentation, modules added (rs, pk)
SmartPtr:
- three year old bugs 626407 and 541846 fixed:
Assertion with SmartPtr<T, LinkedRef> (pk)
SmartPtr and COMRefCounted (Thanks to James Mclaren, pk)
Typelists:
- it's now possible to completely disable the
LOKI_TYPELIST_ macros (pk)
- marco definitions moved to a separate file (pk)
Factory:
- Factory now protects its private data (pk)
- new method to get the keys:
std::vector<IdType> RegisteredIds() (pk)
Functor:
- TR1 methods added: empty() and clear() (pk)
Function:
- boost/TR1 like Function template with
improved member function pointer usage (pk)
- tested with boost's function_test.cpp
Sequence:
- small change in usage: use e.g. Functor<void,Seq<bool &> >
instead of Functor<void,Seq<bool &>::Type >
SmallObjects:
- comparison of new/malloc/std::allocator/boost::object_pool (rs, pk)
- #undef LOKI_SMALL_OBJECT_USE_NEW_ARRAY when using a ms compiler (pk)
- new lifetimes in namespace LongevityLifetime to manage dependencies:
DieAsSmallObjectParent and DieAsSmallObjectClient (pk)
- no memory leaks when using SmallObjects (pk)
- new default lifetime is DieAsSmallObjectParent (pk)
Threads:
- threads on POSIX systems (Thanks to Ilya Volvovski ,pk)
- small regression test program (pk)
Singleton:
- new lifetime: FollowIntoDeath (pk)
- new namespace LongevityLifetime with lifetimes DieLast, DieFirst,
DieDirectlyBeforeLast, and function SingletonFixedLongevity (pk)
- new implementation for SetLongevity (pk)
- example programs (pk)
CVS commits by Rich Sposato (rs) and Peter K<>mmel (pk)
_____________________________________
Version 0.1.1
October 17, 2005
_____________________________________
Singleton:
- wrong ordered longevity fixed (Thanks to Kwak Jae Hyuk, pk)
- less warnings with msvc (Thanks to John Bates, pk)
- new policy, DeletableSingleton, from Curtis Krauskopf,
see also CUJ article 'Creating Dynamic Singletons & the Loki Library',(pk)
AssocVector:
- hinted insert does now preserve ordering (Thanks to Christopher Twigg, pk)
- additional 'hinted insert' test for Regression test by Christopher Twigg (pk)
- fix name look up (Thanks to Markus Werle, pk)
SmallObj:
- several improvements (rs)
- more documentation (rs)
- improved SmallBench (rs, pk)
Longevity:
- example added (pk)
- additional example similar to that of the book, by Curtis Krauskopf (pk)
OrderedStatic:
- a proposal to solve the 'static initialization ordered fiasco' problem (pk)
Sequence:
- a proposal to replace the LOKI_TYPELIST_XX macros with a template implementation (pk)
- e.g.: LOKI_TYPELIST_1(int) becomes Seq<int>::Type
inspired by the functional language OPAL (pk)
CVS commits by Rich Sposato (rs) and Peter K<>mmel (pk)
_____________________________________
Version 0.1.0
September 29, 2005
_____________________________________
General:
- version numbering started
- new directory structure
- Andrei's yasli, flex_string, and SafePrint added (pk)
- all macros now in the LOKI "namespace", e.g.:
TYPLELIST_1 -> LOKI_TYPELIST_1 (rs, pk)
- Makefiles added: tested with gcc 3.4 (mingw, cygwin),
msvc 8.0, and the toolkit (pk)
- added some documentation (rs)
- several bug fixes (pk)
- added a cvs-list to sourceforge where you can see all changes (pk)
SmallObjects:
- new implementation (rs)
Factory:
- works now with parameters (pk)
- regression test added (Thanks to Kalle Rutanen, pk)
TypeTraits:
- isMemberPointer, isFunction added (Thanks to Kalle Rutanen, pk)
- regression test added (Thanks to Kalle Rutanen, pk)
Threading:
- new macros for better thread support (win32):
LOKI_CLASS_LEVEL_THREADING and LOKI_OBJECT_LEVEL_THREADING (pk)
CVS commits by Rich Sposato (rs) and Peter K<>mmel (pk)