Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/external/loki/CHANGES @ 9155

Last change on this file since 9155 was 7266, checked in by rgrieder, 14 years ago

Moved Loki library files to separate loki folder in externals.
Also added TypeManip.h (now used in Convert.h) and static_check.h.

  • Property svn:eol-style set to native
File size: 13.3 KB
RevLine 
[7266]1_____________________________________
2
3Version 0.1.7
4January 2009
5_____________________________________
6
7General:
8    - Fixed makefiles for GNU/kFreeBSD, GNU/hurd. (lf)
9    - Fixed build errors with gcc 4.3 pre-release. (lf)
10    - Fixed compiler error that occurs when using 64 bit pointers. (rs)
11    - Added support for Code::Blocks and MSVC 9. (rs, pk)
12    - Added more unit tests (rs)
13    - Several other bug fixes (rs, pk)
14
15Checker:
16    - Added for this release. (rs)
17    - Added test project. (rs)
18
19CheckReturn:
20    - Added for this release. (rs, pk)
21    - Added test project. (rs + pk)
22
23flex_string:
24    - Fixed bugs in several functions and storage policies. (aa, rs, jfg)
25
26LevelMutex:
27    - Added for this release. (rs)
28    - Added unit tests for LevelMutex. (rs)
29
30SafeBits:
31    - Added for this release. (rs, fp)
32    - Added unit tests for SafeBits. (rs, fp)
33
34SmartPtr:
35    - Fixed double-delete race condition. (rs)
36
37StrongPtr:
38    - Fixed destructor so cleanup is only done once. (rs)
39    - Fixed test by using class level locking. (lf)
40
41Threads:
42    - Add possibility to enable recursive mutex support for pthread (pk)
43    - Added more atomic functions.  (rs)
44
45Type Traits:
46    - Added 64 bit support. (cg)
47
48CVS commits by:
49        Andrei Alexandrescu (aa)
50        Guillaume Chatelet (cg)
51        Lukas Fittl (lf)
52        Peter Kümmel (pk)
53        Rich Sposato (rs)
54
55Contributions by:
56        Andrei Alexandrescu (aa)
57        Jean-Francois Bastien (jfb)
58        Guillaume Chatelet (cg)
59        Lukas Fittl (lf)
60        Fedor Pikus (fp)
61        Peter Kümmel (pk)
62        Rich Sposato (rs)
63
64_____________________________________
65
66Version 0.1.6
67February 25, 2007
68_____________________________________
69
70General:
71    - CacheFactory added by Guillaume Chatelet
72    - Factory documentation improved by Guillaume Chatelet
73    - migrated to subversion (pk)
74    - Mac linker errors fixed (lf)
75    - Makefiles can now be called from sub directories (lf)
76    - Makefiles know includes and recompile if they are changed (linux, macosx) (lf)
77    - Build all tests except SingletonDll with the static library (linux, macosx) (lf)
78    - use standard conforming naming, SUN's compiler needs it (pk)
79    - add Loki:: to LOKI_ macros
80    - several bug fixes.
81
82AbstractFactory:
83    - remove injected friends. (thanks to Sigoure Benoit, pk)
84   
85AssocVector:
86    - remove injected friends. (thanks to Sigoure Benoit, pk)
87   
88LockingPtr:
89    - constructor added which gets a std::pair of pointers
90      to the object and the mutex (pk)
91   
92Pimpl:
93    - ImplT/PimplT/RimplT renamed to a more readable version: ImplOf (pk)
94
95Register:
96    - also produce a informative LOKI_CHECK_CLASS_IN_LIST error message with GCC (pk)
97
98SafeFormat:
99    - add writing to ostream, by Tom Browder (pk)
100    - add unsigned long version for Windows, (Thanks to ShenLei, pk)
101   
102Sequence:
103    - Also compiles with Aix
104    - switched to recursive implementation
105   
106Singleton
107    - example: move instantiation to the source file
108      fixes linker error with gcc 4.0.1 on the mac,
109      (Thanks to Idar Tollefsen and Sam Miller, pk)
110    - 64 bit linker error fixed (lf)
111
112SmallObj:
113    - compiler errors on SUN fixed (pk)   
114    - more documentation (rs)
115    - more tests (rs)
116    - AIX fixed, (thanks to Dieter Rosch, pk)
117 
118StrongPtr:
119    - Added typedef so LockableTwoRefCounts uses thread-safe allocator. (rs)
120    - AIX fixed, (thanks to Dieter Rosch, pk)
121    - linker error when using threads fixed (pk)
122 
123Threads:
124    - reentrance support added to the pthread mutex (Thanks to Shen Lei, pk)
125     
126
127CVS commits by Guillaume Chatelet (gc), Lukas Fittl (lf), Peter Kümmel (pk), Rich Sposato (rs)
128     
129
130_____________________________________
131
132Version 0.1.5
133June 19, 2006
134_____________________________________
135
136General:
137    - operator== added to Functor, initiated by Eric Beyeler (pk)
138    - new Strong/Weak smart pointer added. (rs)
139    - loki.spec (Thanks to Regis Desgroppes and Andreas Scherer, pk)
140    - build shared lib also on mac osx (Thanks to Sam Miller, lf)
141    - added MinGW .dev files for the library (rs)
142    - some makefile improvements (Thanks to Sam Miller, lf)
143    - adding an XCode build project (kx)
144   
145   
146flex_string:
147    - compare bug fixed in flex_string_shell.h (Thanks to David A. Capello, pk)
148   
149Function:
150    - test is doesn't need boost any more (pk)
151    - wrong default parameter fixed (pk)
152   
153OrderedStatic:
154    - undef all min/max macros (Thanks to Shen Lei, pk)
155   
156Singleton:
157    - Singleton<> moved into correct namespace (Thanks to Sam Miller, pk)
158   
159SmartPtr:
160    - patch for RedHat 9: undefined uintptr_t (Thanks to Regis Desgroppes, pk)
161    - more tests (rs)
162    - bugs 1452805 and 1451835 fixed (rs)
163    - addded HeapStorage policy as mentioned in Feature Request 1441024 (rs)
164    - added MinGW test project for SmartPtr (rs)
165   
166
167CVS commits by Rich Sposato (rs), Lukas Fittl (lf),
168Christopher Knox (kx), and Peter Kümmel (pk)
169
170
171
172_____________________________________
173
174Version 0.1.4
175March 8, 2006
176_____________________________________
177
178General:
179    - helper templates for Pimpl/Rimpl implementations added (pk)
180    - improved Makefiles (lf)
181    - improved make.msvc.bat files (pk)
182    - cvs LOG keywords added (rs)
183    - removed old c style casts (lf)
184    - more warning enabled on gcc (lf)
185    - new header added: ConstPolicy.h (rs,pk)
186    - new header added: RefToValue.h (rs,pk)
187    - standard RPM specification file for integrated installation
188      on OpenSUSE Linux added (Thanks to Andreas Scherer, pk)
189    - using Loki as shared library is now possible (pk,lf)
190    - Register.h added (pk)
191   
192   
193Function:
194    - guard including (pk)
195    - test stsic functions (pk)
196    - test LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT  (pk)
197   
198Functor:
199    - Added explicit call to base copy-constructor (rs) 
200    - Changed base class from SmallObject to SmallValueObject. (Thanks to Sam Miller, rs)
201    - add possibility to disable inheritance from SmallValueObject: LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT (pk)
202   
203ScopeGuard:
204    - naming conflict with SmartPtr removed (rs,pk)
205    - ByRef moved to RefByVale (rs,pk)
206 
207Singleton:
208    - support of allocators with a standard interface added (Thanks to Miguel A. Figueroa-Villanueva, pk)
209    - convenience template Singleton added for shared libraries (Thanks to Marcus Lindblom, pk)
210    - example added which shows how to use Singletons with shared libraries added (Thanks to Marcus Lindblom, pk)
211
212SmartPtr:
213    - supports propagating constness by additional policy (rs,pk)
214    - ArrayStorage policy added (Thanks to Sam Miller, pk)
215    - fix in RefCounted for Mac OSX gcc 4.0.0 (Thanks to Sam Miller, pk)
216    - RefCounted ported to 64 bit (pk)
217    - add mutex policy (pk)
218    - new test code (rs)
219    - RecjectNullStrict const member function added (Thanks to Sam Miller, pk)
220    - Moved a monolithic RefLinkedBase class from header file to new source file. (rs)
221    - ByRef moved to RefToVale (rs,pk)
222    - Fixed bug 1425890.  Last SmartPtr in linked chain NULLs its prev & next
223      pointers to prevent infinite recursion.  Added asserts. (rs)
224    - Bug fix: infinite recursion in SmartPtr destructor (rs)
225   
226LockingPtr:
227    - wrong return types fixed (rs)
228    - add mutex policy (rs,pk)
229    - supports now propagating constness (pk,rs)
230    - macro switch LOKI_DEFAULT_CONSTNESS added for propagating constness (pk)
231    - multi threaded example added
232   
233SafeFormat:
234    - definition moved to src/SafeFormat.cpp, it's now part of the library
235   
236Singleton:
237    - add mutex policy (pk)
238
239SmallObj:
240    - add mutex policy (pk)
241    - Added check for memory leak inside destructor. (Thanks to Kwak Jae Hyuk, rs)
242
243Threads:
244    - Mutex added (rs,pk)
245    - use Loki::Mutex instead of win32/posix mutexes in threading classes (rs,pk)
246
247
248CVS commits by Rich Sposato (rs), Lukas Fittl (lf)
249and Peter Kümmel (pk)
250
251
252
253_____________________________________
254
255Version 0.1.3
256January 9, 2006
257_____________________________________
258
259General:
260    - LockPtr added (rs)
261    - ScopeGuard added (pk,rs)
262    - improved Makefiles (lf,pk)
263    - several gcc fixes and removed warnings by Lukas Fittl (lf)
264    - tested on 64-bit Linux (pk)
265    - MS Visual C++ 2005 project files added (pk)
266    - now also the ms toolkit 2003 generates a library (pk)
267
268OrderedStatic:
269    - point operator added (pk)
270
271SafeFormat:
272    - moved into namespace Loki (pk)
273    - 64 bit problems fixed (Thanks to Zak Kipling)
274    - ported to 64-bit Windows, not tested (pk)
275    - Printf/SPrintfing of std::strings added (pk)
276    - all warnings removed gcc and msvc (pk)
277    - use snprintf for "%p"
278    - test program: speed comparison added (pk)
279
280SmallObject:
281    - added functions to check for memory corruption (rs)
282    - more fine tuning (rs)
283    - warnings removed (pk)
284   
285TypeTraits:
286    - bug 1388477 fixed (pk)
287   
288flex_string:
289    - fixed compare bug by updating (Thanks to Justin Matthews, pk)
290    - fixed seg faults on Linux and Windows (pk)
291    - improved error reporting of the test program (pk)
292   
293SmartPtr:
294    - make object level locking possible (Thanks to Ryan Smith, pk)
295   
296BindFirst:
297    - store Functor arguments by value (bug 1383566) (pk)
298   
299Visitor:
300    - add support for visiting constant member functions (pk)
301    - example added (pk)
302   
303ScopeGuard:
304    - example added (pk)
305   
306   
307CVS commits by Rich Sposato (rs), Lukas Fittl (lf)
308and Peter Kümmel (pk)
309
310
311_____________________________________
312
313Version 0.1.2
314November 16, 2005
315_____________________________________
316
317General:
318    - changes to compile under Linux (Thanks to David Lawrence, pk)
319    - more doxygen documentation, modules added (rs, pk)
320
321SmartPtr:
322    - three year old bugs 626407 and 541846 fixed:
323      Assertion with SmartPtr<T, LinkedRef> (pk)
324      SmartPtr and COMRefCounted (Thanks to James Mclaren, pk)
325
326Typelists:
327    - it's now possible to completely disable the
328      LOKI_TYPELIST_  macros (pk)
329    - marco definitions moved to a separate file (pk)
330
331Factory:
332    - Factory now protects its private data (pk)
333    - new method to get the keys:
334      std::vector<IdType> RegisteredIds() (pk)
335   
336Functor:
337    - TR1 methods added: empty() and clear() (pk)
338   
339Function:
340    - boost/TR1 like Function template with
341      improved member function pointer usage (pk)
342    - tested with boost's function_test.cpp
343
344Sequence:
345    - small change in usage: use e.g. Functor<void,Seq<bool &> >
346      instead of Functor<void,Seq<bool &>::Type >
347
348SmallObjects:
349    - comparison of new/malloc/std::allocator/boost::object_pool (rs, pk)
350    - #undef LOKI_SMALL_OBJECT_USE_NEW_ARRAY when using a ms compiler (pk)
351    - new lifetimes in namespace LongevityLifetime to manage dependencies:
352      DieAsSmallObjectParent and DieAsSmallObjectClient (pk)
353    - no memory leaks when using SmallObjects (pk)
354    - new default lifetime is DieAsSmallObjectParent (pk)
355
356Threads:
357    - threads on POSIX systems (Thanks to Ilya Volvovski ,pk)
358    - small regression test program (pk)
359
360Singleton:
361    - new lifetime: FollowIntoDeath (pk)
362    - new namespace LongevityLifetime with lifetimes DieLast, DieFirst,
363      DieDirectlyBeforeLast, and function SingletonFixedLongevity (pk)
364    - new implementation for SetLongevity (pk)
365    - example programs (pk)
366   
367   
368CVS commits by Rich Sposato (rs) and Peter Kümmel (pk)
369
370
371
372_____________________________________
373
374Version 0.1.1
375October 17, 2005
376_____________________________________
377
378Singleton:
379    - wrong ordered longevity fixed (Thanks to Kwak Jae Hyuk, pk)
380    - less warnings with msvc (Thanks to  John Bates, pk)
381    - new policy, DeletableSingleton, from Curtis Krauskopf,
382      see also CUJ article 'Creating Dynamic Singletons & the Loki Library',(pk)
383   
384AssocVector:
385    - hinted insert does now preserve ordering (Thanks to Christopher Twigg, pk)
386    - additional 'hinted insert' test for Regression test by Christopher Twigg (pk)
387    - fix name look up (Thanks to Markus Werle, pk)
388
389SmallObj:
390     - several improvements (rs)
391     - more documentation (rs)
392     - improved SmallBench (rs, pk)
393
394Longevity:
395    - example added (pk)
396    - additional example similar to that of the book, by Curtis Krauskopf (pk)
397   
398OrderedStatic:
399    - a proposal to solve the 'static initialization ordered fiasco' problem (pk)
400
401Sequence:
402    - a proposal to replace the LOKI_TYPELIST_XX macros with a template implementation (pk)
403    - e.g.: LOKI_TYPELIST_1(int) becomes Seq<int>::Type
404      inspired by the functional language OPAL (pk)
405           
406           
407CVS commits by Rich Sposato (rs) and Peter Kümmel (pk)
408
409
410
411_____________________________________
412
413Version 0.1.0
414September 29, 2005
415_____________________________________
416
417General:
418    - version numbering started
419    - new directory structure
420    - Andrei's yasli, flex_string, and SafePrint added  (pk)
421    - all macros now in the LOKI "namespace", e.g.:
422      TYPLELIST_1 -> LOKI_TYPELIST_1  (rs, pk)
423    - Makefiles added: tested with gcc 3.4 (mingw, cygwin),
424      msvc 8.0, and the toolkit  (pk)
425    - added some documentation (rs)
426    - several bug fixes (pk)
427    - added a cvs-list to sourceforge where you can see all changes (pk)
428   
429SmallObjects:
430    - new implementation (rs)
431   
432Factory:
433    - works now with parameters (pk)
434    - regression test added (Thanks to Kalle Rutanen, pk)
435   
436TypeTraits:
437    - isMemberPointer, isFunction added (Thanks to Kalle Rutanen, pk)
438    - regression test added (Thanks to Kalle Rutanen, pk)
439   
440Threading:
441    - new macros for better thread support (win32):
442      LOKI_CLASS_LEVEL_THREADING and LOKI_OBJECT_LEVEL_THREADING (pk)
443
444
445CVS commits by Rich Sposato (rs) and Peter Kümmel (pk)
446
Note: See TracBrowser for help on using the repository browser.