blob: 4840db0ec7aca7f0bb4ab2587af7f8d8bc3b5097 [file] [log] [blame]
5.2:
- Major modifications:
* Use of #include_next to access native platform/compiler headers when the
preprocessor support it. Enhance STLport portability as native header path do
not have to be adapted each time the header structure is modified.
* Yet a modification of the include schema in all C++ Standard headers. Now
_STLP_WHOLE_NATIVE_STD mode works as expected, used in conjonction with
_STLP_DONT_REDEFINE_STD it is possible to use STLport in stlport namespace at
the same time as using native library in std namespace.
* Use of the gcc visibility feature for gcc versions after 4.0.
* For builds under Windows, STLport now adapt to the PSDK used to build it. It
should be the same as the one used when building an application using the
STLport libs. A compatibility detection mecanism has been implemented in order
to report not homogeneous build environment with a link error rather than undefined
runtime error.
- Enhancements:
* Use of malloc based allocator on system having GlibC 2.3 and later, keep
node allocator for others.
* Delay instanciation of type traits type in vector and deque implementation to
be able to use some of the nested types like iterator even if type used to
instanciate the container is not completely defined.
* Container pointer specialization feature now works even with incomplete types
thanks to use of partial template specialization.
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.