5.1: - Major modifications * Folder architecture: All configuration files are now in stlport/stl/config folder. stlport/stl_user_config.h renamed and moved as stlport/stl/config/user_config.h. stlport/stl/_site_config.h renamed and moved as stlport/stl/config/hosts.h. STLport configuration now also try to seperate platform configuration from compiler one. * Allocators implementation is in src folder to enhance encapsulation. Default allocator when using STLport without building it (_STLP_NO_IOSTREAMS) is the simple new/delete based allocator, node allocator is the default when building the lib. * Access to native headers has been modified to make STLport less dependant on native headers internal includes, should improve portability. * Segregation of headers has been improved. You might have to add now missing functional or algorithm Standard headers include in your code. - Enhancements * Support enhancements: - Borland compilers starting with the free one (5.5.1) - HP aC++/ANSI C B3910B A.06.06 - Visual Studio 2005 for Windows CE - Use of intrinsic type traits support of Visual Studio 2005 * Improved meta programming techniques especially in uninitialized_* algorithms. If you need a vector of null pointer prefer to write 'vector v(10)' rather than 'vector v(10, (void*)0)'. * Fully functional pointer specialization feature (_STLP_USE_PTR_SPECIALIZATIONS). * Extension of template search methods in associative and hashed container has been completed. * STL safe mode: Now detect badly implemented strict weak ordering functors, assert if a < b && b < a. Same for equivalent functor used in hash container implementation, assert if a <=> b but !(b <=> a). * Improved locale creation delay on Windows platform. * STL containers implementation now correctly handle allocators with state. This kind of allocator has to overload swap method if any specific action has to be made when swaping 2 instances. * STLport is ready for safe string functions *_s (_STLP_USE_SAFE_STRING_FUNCTIONS) * Many bug fixes, see etc/ChangeLog-5.1. 5.0: - Major modifications * No more wrapper mode: you can use STLport iostreams or no iostreams at all. * _STLP_NO_CUSTOM_IO now also hide basic_string implementation * internal namespace schema has been modified, see doc folder for additionnal informations. - Enhancements * Support of many modern C++ compilers and platforms - gcc 3.4.0 and later - MSVC .Net 2002, 2003 and MSVC 2005 Beta - Windows CE see build/test/unit/STATUS for a complete list of tested platforms/compilers * Move semantic: vector or deque of any other STL containers are using move semantic when resized or modified rather than copy. * New checks in safe STL mode like null pointer or check of iterator range pass to container constructors. * Expression template for string concatenation operations (available throught the _STLP_USE_TEMPLATE_EXPRESSION config option) * Implementation of the short string optimization trick, basic_string have a small static buffer in this case. * STL containers vector, deque, list and slist pointer specialization to limit code bloats (see _STLP_USE_PTR_SPECIALIZATIONS on config file) * Use of boost type_traits rather than internal equivalent when requested (see _STLP_USE_BOOST_SUPPORT in config file) * set/multiset, or map/multimap iterators cannot be compared anymore. * unordered_set, unordered_multiset, unordered_map, unordered_multimap hash containers implementation specified in the TR1 document. * Thanks to the _STLP_LEAKS_PEDANTIC config option you can ask STLport to clean its memory pool before being unloaded, useful to only detect real memory leak problems. * Creation of configuration scripts to make STLport configuration easier. * Improvment of some algorithm like search_n or stable_sort. * Ported to 64 bits platforms. * Large file ( > 4 Go) stream support on Win32 platform.