1 5.2: 2 3 - Major modifications: 4 5 * Use of #include_next to access native platform/compiler headers when the 6 preprocessor support it. Enhance STLport portability as native header path do 7 not have to be adapted each time the header structure is modified. 8 9 * Yet a modification of the include schema in all C++ Standard headers. Now 10 _STLP_WHOLE_NATIVE_STD mode works as expected, used in conjonction with 11 _STLP_DONT_REDEFINE_STD it is possible to use STLport in stlport namespace at 12 the same time as using native library in std namespace. 13 14 * Use of the gcc visibility feature for gcc versions after 4.0. 15 16 * For builds under Windows, STLport now adapt to the PSDK used to build it. It 17 should be the same as the one used when building an application using the 18 STLport libs. A compatibility detection mecanism has been implemented in order 19 to report not homogeneous build environment with a link error rather than undefined 20 runtime error. 21 22 - Enhancements: 23 24 * Use of malloc based allocator on system having GlibC 2.3 and later, keep 25 node allocator for others. 26 27 * Delay instanciation of type traits type in vector and deque implementation to 28 be able to use some of the nested types like iterator even if type used to 29 instanciate the container is not completely defined. 30 31 * Container pointer specialization feature now works even with incomplete types 32 thanks to use of partial template specialization. 33 34 5.1: 35 36 - Major modifications 37 38 * Folder architecture: All configuration files are now in stlport/stl/config folder. 39 stlport/stl_user_config.h renamed and moved as stlport/stl/config/user_config.h. 40 stlport/stl/_site_config.h renamed and moved as stlport/stl/config/hosts.h. 41 STLport configuration now also try to seperate platform configuration from compiler 42 one. 43 44 * Allocators implementation is in src folder to enhance encapsulation. Default 45 allocator when using STLport without building it (_STLP_NO_IOSTREAMS) is the simple 46 new/delete based allocator, node allocator is the default when building the lib. 47 48 * Access to native headers has been modified to make STLport less dependant on 49 native headers internal includes, should improve portability. 50 51 * Segregation of headers has been improved. You might have to add now missing 52 functional or algorithm Standard headers include in your code. 53 54 - Enhancements 55 56 * Support enhancements: 57 - Borland compilers starting with the free one (5.5.1) 58 - HP aC++/ANSI C B3910B A.06.06 59 - Visual Studio 2005 for Windows CE 60 - Use of intrinsic type traits support of Visual Studio 2005 61 62 * Improved meta programming techniques especially in uninitialized_* algorithms. 63 If you need a vector of null pointer prefer to write 'vector<void*> v(10)' rather 64 than 'vector<void*> v(10, (void*)0)'. 65 66 * Fully functional pointer specialization feature (_STLP_USE_PTR_SPECIALIZATIONS). 67 68 * Extension of template search methods in associative and hashed container has 69 been completed. 70 71 * STL safe mode: Now detect badly implemented strict weak ordering functors, assert 72 if a < b && b < a. Same for equivalent functor used in hash container implementation, 73 assert if a <=> b but !(b <=> a). 74 75 * Improved locale creation delay on Windows platform. 76 77 * STL containers implementation now correctly handle allocators with state. This kind 78 of allocator has to overload swap method if any specific action has to be made when 79 swaping 2 instances. 80 81 * STLport is ready for safe string functions *_s (_STLP_USE_SAFE_STRING_FUNCTIONS) 82 83 * Many bug fixes, see etc/ChangeLog-5.1. 84 85 5.0: 86 87 - Major modifications 88 89 * No more wrapper mode: you can use STLport iostreams or no iostreams 90 at all. 91 92 * _STLP_NO_CUSTOM_IO now also hide basic_string implementation 93 94 * internal namespace schema has been modified, see doc folder for additionnal 95 informations. 96 97 - Enhancements 98 99 * Support of many modern C++ compilers and platforms 100 - gcc 3.4.0 and later 101 - MSVC .Net 2002, 2003 and MSVC 2005 Beta 102 - Windows CE 103 see build/test/unit/STATUS for a complete list of tested platforms/compilers 104 105 * Move semantic: vector or deque of any other STL containers are using 106 move semantic when resized or modified rather than copy. 107 108 * New checks in safe STL mode like null pointer or check of iterator range 109 pass to container constructors. 110 111 * Expression template for string concatenation operations (available 112 throught the _STLP_USE_TEMPLATE_EXPRESSION config option) 113 114 * Implementation of the short string optimization trick, basic_string have 115 a small static buffer in this case. 116 117 * STL containers vector, deque, list and slist pointer specialization to 118 limit code bloats (see _STLP_USE_PTR_SPECIALIZATIONS on config file) 119 120 * Use of boost type_traits rather than internal equivalent when requested 121 (see _STLP_USE_BOOST_SUPPORT in config file) 122 123 * set/multiset, or map/multimap iterators cannot be compared anymore. 124 125 * unordered_set, unordered_multiset, unordered_map, unordered_multimap hash 126 containers implementation specified in the TR1 document. 127 128 * Thanks to the _STLP_LEAKS_PEDANTIC config option you can ask STLport to 129 clean its memory pool before being unloaded, useful to only detect real 130 memory leak problems. 131 132 * Creation of configuration scripts to make STLport configuration easier. 133 134 * Improvment of some algorithm like search_n or stable_sort. 135 136 * Ported to 64 bits platforms. 137 138 * Large file ( > 4 Go) stream support on Win32 platform. 139