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<void*> v(10)' rather
than 'vector<void*> 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.