Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
7614 lines (5571 sloc) 349 KB
============================================================================
STLSoft - Changes
; Created: 29th March 2002
; Updated: 4th June 2012
============================================================================
**************************************
* Change key: *
* *
* ~ means something has changed *
* + means a new addition *
* - means removal of something *
* * means a general bullet-point *
* *
**************************************
============================================================================
Changes for 1.9.114 (4th June 2012)
Summary:
========
* added unixstl::filesystem_traits::is_socket(char_type const*) method
* added unixstl::filesystem_traits::is_link(char_type const*) method
* added unixstl::filesystem_traits::is_socket(stat_data_type const*) method
* added unixstl::filesystem_traits::find_next_path_name_separator() method
* added unixstl::filesystem_traits::find_last_path_name_separator() method
* unixstl::filesystem_traits::get_full_path_name() now canonicalises '.'/'..'-trailing paths
* unixstl::readdir_sequence.hpp now includes directory name in thrown exception
Changes:
========
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
~ canonicalised '.' and '..'-trailing paths
~ refactored get_full_path defect() logic
~ fixed defect whereby too much of a source string was being copied over into buffer (leading to a seg-fault on UNIX)
+ added is_socket(char_type const*)
+ added is_link(char_type const*)
+ added is_socket(stat_data_type const*)
+ added find_next_path_name_separator()
+ added find_last_path_name_separator()
~ unixstl/filesystem/glob_sequence.hpp:
~ refactored way in which patterns and directories are pre-parsed
~ unixstl/filesystem/readdir_sequence.hpp:
+ readdir_sequence_exception now has a Directory property
+ now includes directory name in thrown exception
~ minor compatibility fixes
============================================================================
Changes for 1.9.113 (4th June 2012)
Summary:
========
* Intel C/C++ 12 support
* support for STLSOFT_COMPILE_VERBOSE; deprecation of _STLSOFT_COMPILE_VERBOSE
* fixed unixstl::filesystem_traits::broken get_current_directory()
* fixed unixstl::filesystem_traits::broken invalid_file_handle_value()
* fixed unixstl::filesystem_traits::is_file() / is_directory() / is_link()
* numerous improvements to unixstl::filesystem_traits::glob_sequence
* unixstl::readdir_sequence correction to elide sockets from search results
* winstl/time/conversion_functions.h renaming (and deprecation) of non-standard C function names
Changes:
========
STLSoft:
========
~ stlsoft/internal/cccap/gcc.h:
+ added STLSOFT_GCC_VER
~ stlsoft/shims/access/string/std/exception.hpp:
~ strengthened contract of implementation function
~ stlsoft/stlsoft.h:
+ Intel C/C++ 12 support
~ reworking of use of STLSOFT_COMPILE_VERBOSE; deprecation of _STLSOFT_COMPILE_VERBOSE
~ stlsoft/string/special_string_instance.hpp:
~ trivial change
~ stlsoft/util/std/library_discriminator.hpp:
~ reworking of use of STLSOFT_COMPILE_VERBOSE; deprecation of _STLSOFT_COMPILE_VERBOSE
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
~ fixed broken get_current_directory()
~ corrected return value of invalid_file_handle_value() : now returns -1, rather than 0
~ corrected inappropriate flag testing to identify files/directories/links
~ unixstl/filesystem/glob_sequence.hpp:
~ correct elision (or not) of dots directories, based on whether pattern contains wildcards and on whether matchPeriod is specified
~ fixed defect
~ simplified implementation, and now elides non-directory, non-file types (e.g. sockets)
~ no longer specifies noSort by default
- removed some dead code
~ clarified user-definable feature selection instructions
~ correct handling of UNIXSTL_GLOB_SEQUENCE_DONT_TRUST_MARK
~ changed internal API
~ corrected rarely encountered defect in eliding dots directories
~ fixed erroneous 1-param ctor
~ minor refactoring
~ corrected inappropriate flag testing to identify files/directories/links
~ unixstl/filesystem/readdir_sequence.hpp:
~ forward compatibility
~ correction for presence of sockets (non-Windows only)
WinSTL:
=======
~ winstl/registry/reg_key.hpp:
~ const-correctness on REG_MULTI_SZ values
~ winstl/time/conversion_functions.h:
~ conversion of deprecated winstl__??? form to winstl_C_??? form
~ trivial formatting changes
+ added documentation markup
~ winstl/winstl.h:
~ Intel C/C++ 12 compatibility
============================================================================
Changes for 1.9.112 (7th February 2012)
Summary:
========
* added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
* adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
* minor VC++ compatibility fix for stlsoft/shims/access/string/std/exception.hpp
Changes:
========
STLSoft:
========
~ stlsoft/internal/cccap/gcc.h:
~ adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
~ stlsoft/shims/access/string/std/exception.hpp:
~ VC++-compatibility
WinSTL:
=======
~ winstl/error/error_functions.h:
+ added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
============================================================================
Changes for 1.9.111 (30th November 2011)
Summary:
========
* fix for GCC 4.5+ unixstl::filesystem_traits
Changes:
========
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
~ filesystem_traits::create_directory() 1-parameter overload now passes mode to 2-parameter overload
============================================================================
Changes for 1.9.110 (25th November 2011)
Summary:
========
* fix for GCC 4.5+ unixstl::filesystem_traits
* added result_code_type to both unixstl::system_traits and winstl::system_traits
* correction(s)/enhancement(s) to which of MFCSTL's string access shim headers are automatically included
* added discrimination of new pre-processor symbol PLATFORMSTL_NO_PLATFORM_NAMESPACE, to ease dependent library implementation
* avoidance of false memory-leak reports in use of stlsoft::truncation_test
Changes:
========
STLSoft:
========
~ stlsoft/conversion/truncation_test.hpp:
~ workaround to avoid false memory-leak reports in certain circumstances (seen when using platformstl::file_lines)
MFCSTL:
=======
~ mfcstl/shims/access/string.hpp:
+ added inclusion for #include <mfcstl/shims/access/string/CException.hpp>
~ corrected inclusions to #include <mfcstl/shims/access/string/cwnd.hpp>
~ mfcstl/shims/access/string/cwnd.hpp:
~ corrected defects in definitions of CWnd-related overloads of c_str_len() shims
PlatformSTL:
============
~ platformstl/platformstl.h:
+ added discrimination of PLATFORMSTL_NO_PLATFORM_NAMESPACE
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
~ fix for GCC 4.5+ issue (returning NULL for file-handle type (int))
~ unixstl/system/system_traits.hpp:
+ added result_code_type (as we're trying to remove the presence of the misleading word "error" as much as possible)
WinSTL:
=======
~ winstl/system/system_traits.hpp:
+ added result_code_type (as we're trying to remove the presence of the misleading word "error" as much as possible)
============================================================================
Changes for 1.9.109 (13th August 2011)
Summary:
========
* added rbegin()/rend() to stlsoft::frequency_map<>
* added push_n() to stlsoft::frequency_map<>
* refactored throw statement(s) in terms of STLSOFT_THROW_X() throughout
* added reset() method to stlsoft::shared_ptr<>
* added various STLSoft deprecation macros
* added is_path_rooted(), is_path_absolute(), and is_path_UNC() methods to unixstl::filesystem_traits<>
* added two-parameters overloads of is_path_rooted(), is_path_absolute(), and is_path_UNC() methods to winstl::filesystem_traits<>
* include/winstl/error/error_functions.h: substantial refactoring of format_message()-family of functions (and their C analogues)
Changes:
========
STLSoft:
========
~ include/stlsoft/containers/frequency_map.hpp:
+ added push_n() (rudimentary implementation)
~ trivial changes
~ trivial changes
+ added rbegin()/rend()
~ include/stlsoft/conversion/truncation_cast.hpp:
~ include/stlsoft/error/throw_policies.hpp:
~ refactored throw statement(s) in terms of STLSOFT_THROW_X()
~ include/stlsoft/functional/composite_predicates.hpp:
~ trivial formatting changes
~ documentation changes
~ include/stlsoft/smartptr/shared_ptr.hpp:
+ added reset() method
~ include/stlsoft/stlsoft.h:
+ added STLSOFT_DECLARE_DEPRECATION()
+ added STLSOFT_DECLARE_DEPRECATION_MESSAGE()
+ added STLSOFT_DECLARE_FUNCTION_DEPRECATION()
+ added STLSOFT_DECLARE_FUNCTION_DEPRECATION_IN_FAVOUR_OF()
+ added STLSOFT_DECLARE_MACRO_DEPRECATION()
+ added STLSOFT_DECLARE_MACRO_DEPRECATION_IN_FAVOUR_OF()
~ include/stlsoft/string/string_view.hpp:
~ trivial formatting changes
COMSTL:
=======
~ include/comstl/collections/enumeration_policies.hpp:
~ include/comstl/error/bad_interface_cast.hpp:
~ trivial formatting changes
~ include/comstl/string/bstr.hpp:
~ include/comstl/util/value_policies.hpp:
~ include/comstl/util/variant.hpp:
~ refactored throw statement(s) in terms of STLSOFT_THROW_X()
RangeLib:
=========
~ include/rangelib/algorithms.hpp:
~ include/rangelib/integral_range.hpp:
~ refactored throw statement(s) in terms of STLSOFT_THROW_X()
UNIXSTL:
========
~ include/unixstl/filesystem/directory_functions.hpp:
~ trivial formatting changes
~ "safe string" compatibility
~ include/unixstl/filesystem/filesystem_traits.hpp:
+ added is_path_rooted() method
+ added is_path_absolute() method
+ added is_path_UNC() method
~ widestring uses iswalpha()
~ simplification/separation of Windows-emulation code
~ corrected maximum-path length calculation(s)
~ include/unixstl/system/system_traits.hpp:
~ "safe string" compatibility
+ added implementations of str_n_compare_no_case() when emulating UNIX on Windows
WinSTL:
=======
~ include/winstl/error/error_desc.hpp:
~ reimplemented to new overload of format_message(), specifying flags to more precisely control behaviour
~ use of FORMAT_MESSAGE_IGNORE_INSERTS to resolve strings with inserts
~ application of new STLSoft deprecation features
~ trivial formatting changes
~ include/winstl/error/error_functions.h:
~ renamed winstl_C_fmtmsg_find_last_good_a/w__ to winstl_C_fmtmsg_elide_message_a/w_
+ added winstl_C_format_message_from_module_to_allocated_buffer_a()
+ added winstl_C_format_message_from_module_to_allocated_buffer()
+ added new overload of format_message()
~ applying new deprecation macros
~ conditional elision of period
~ deprecated functions
~ reimplementing in terms of new functions
+ added winstl_C_FormatMessageA_INVOKE_for_alloc_()
+ added winstl_C_FormatMessageW_INVOKE_for_alloc_()
+ winstl_C_FormatMessageA_INVOKE_in_buffer_()
+ winstl_C_FormatMessageW_INVOKE_in_buffer_()
~ trivial formatting changes
~ include/winstl/error/exceptions.hpp:
~ uses new format_message() function(s)
~ include/winstl/filesystem/directory_functions.hpp:
~ corrected maximum-path length calculation(s)
~ trivial formatting changes
~ include/winstl/filesystem/file_path_buffer.hpp:
~ trivial change
~ include/winstl/filesystem/filesystem_traits.hpp:
+ added two-parameter overload of is_path_absolute()
+ added two-parameter overload of is_path_rooted()
+ added two-parameter overload of is_path_UNC()
~ refactored internal implementation methods
~ corrected maximum-path length calculation(s)
~ include/winstl/filesystem/memory_mapped_file.hpp:
~ VC++ 9 compatibility
~ corrected behaviour (and updated class invariant) for non-exception compilation
~ now initialises m_lastStatusCode, so can be used in invariant
~ removed all possible uses of word 'error' and replaced with 'status code'
~ include/winstl/shims/access/string/time.hpp:
~ avoiding warnings (due to compiler not being able to see that STLSOFT_THROW_X() actually throws an exception, so the subsequent return is fatuous)
~ refactored throw statement(s) in terms of STLSOFT_THROW_X()
~ include/winstl/system/system_traits.hpp:
~ corrected maximum-path length calculation(s)
~ pedantic change from HINSTANCE to HMODULE
~ include/winstl/winstl.h:
~ now issues #error if compiling with WIN64 defined absent definition of _WIN64
============================================================================
Changes for 1.9.108 (31st January 2011)
Summary:
========
* changed erroneously named new unixstl::/winstl::filesystem_traits method's name from invalid_handle_value() to invalid_file_handle_value()
* added third, defaulted, template parameter to stlsoft::frequency_map for specification of predicate
Changes:
========
STLSoft:
========
~ include/stlsoft/containers/frequency_map.hpp:
+ added third, defaulted, template parameter, allowing specification of predicate
UNIXSTL:
========
~ include/unixstl/filesystem/filesystem_traits.hpp:
~ changed erroneously named new method's name from invalid_handle_value() to invalid_file_handle_value()
WinSTL:
=======
~ include/winstl/filesystem/filesystem_traits.hpp:
~ changed erroneously named new method's name from invalid_handle_value() to invalid_file_handle_value()
============================================================================
Changes for 1.9.107 (30th January 2011)
Summary:
========
* added data() member to stlsoft::multibyte2wide and stlsoft::wide2multibyte
* added data() member to winstl::multibyte2wide and winstl::wide2multibyte
* improved performance of of c_str_len(_a|_w)() shim overloads of stlsoft::multibyte2wide and stlsoft::wide2multibyte
* improved performance of of c_str_len(_a|_w)() shim overloads of winstl::multibyte2wide and winstl::wide2multibyte
* added equal() method and operator ==/!=() non-member functions to unixstl::memory_mapped_file
* added equal() method and operator ==/!=() non-member functions to winstl::memory_mapped_file
* added non-member unixstl::swap() function for unixstl::memory_mapped_file
* added non-member platformstl::swap() function for platformstl::memory_mapped_file
* changed definition of unixstl::memory_mapped_file::size_type to be size_t
* added invalid_handle_value() method to unixstl::filesystem_traits<>
* added invalid_handle_value() method to winstl::filesystem_traits<>
* added added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads to unixstl::filesystem_traits<>
* added added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads to winstl::filesystem_traits<>
* reduced dependencies on other string access shim overloads in winstl::error_desc
Changes:
========
STLSoft:
========
~ stlsoft/collections/associative_mapped_type_detector.hpp:
~ stlsoft/collections/collections.hpp:
~ stlsoft/containers/array_policies.hpp:
~ stlsoft/string/char_traits.hpp:
~ stlsoft/util/std/algorithm.hpp:
~ stlsoft/exceptions/active_end_iterator_exhaustion.hpp:
~ stlsoft/exceptions/contract_violation.hpp:
~ stlsoft/exceptions/external_iterator_invalidation.hpp:
~ stlsoft/exceptions/iteration_interruption.hpp:
~ stlsoft/exceptions/unrecoverable.hpp:
~ stlsoft/function_adaptors/ref2ptr.hpp:
~ stlsoft/functional/access_predicates.hpp:
~ trivial formatting changes
~ stlsoft/conversion/char_conversions.hpp:
+ added data() member
+ added size() member, which returns length of contents, not length of buffer (was off by 1)
~ improved performance of c_str_len(_a|_w)() shim overloads
~ stlsoft/iterators/c_str_inserter.hpp:
~ documentation improvement
COMSTL:
=======
~ comstl/interface/bad_interface_cast.hpp:
~ comstl/interface/interface_cast.hpp:
~ comstl/interface/interface_traits.hpp:
~ trivial formatting changes
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
+ added invalid_handle_value() method
+ added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads
~ unixstl/filesystem/memory_mapped_file.hpp:
+ adds equal() method
+ adds operator ==() non-member function
+ adds operator !=() non-member function
+ adds swap() non-member function (in unixstl namespace)
~ size_type is not defined to be size_t, which affects only the case of a 32-bit architecture on which the compiler supports 64-bit integers; the effect is to move runtime failures to compile-time (since it's not possible to map a range of memory whose size exceeds 32-bits on a 32-bit system)
~ unixstl/synch/exceptions.hpp:
~ trivial formatting changes
WinSTL:
=======
~ winstl/clipboard/exceptions.hpp:
~ winstl/control_panel/exceptions.hpp:
~ winstl/registry/defs.hpp:
~ winstl/registry/exceptions.hpp:
~ winstl/registry/shared_handles.hpp:
~ winstl/shell/memory_functions.h:
~ winstl/synch/exceptions.hpp:
~ winstl/synch/functions.hpp:
~ winstl/time/format_functions.h:
~ winstl/toolhelp/exceptions.hpp:
~ winstl/toolhelp/sequence_value_traits.hpp:
~ trivial formatting changes
~ winstl/conversion/char_conversions.hpp:
+ added data() member
~ improved performance of c_str_len(_a|_w)() shim overloads
~ winstl/error/error_desc.hpp:
- reduced the amount of dependencies on other string access shim overloads
~ winstl/filesystem/filesystem_traits.hpp:
+ added invalid_handle_value() method
+ added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads
~ winstl/filesystem/memory_mapped_file.hpp:
+ added equal() method, and operator ==/!= non-member operators
+ added swap() in winstl namespace
============================================================================
Changes for 1.9.106 (28th December 2010)
Summary:
========
* workaround for Intel compile error
Changes:
========
STLSoft:
========
~ include/winstl/error/exceptions.hpp:
~ workaround for Intel compile error
============================================================================
Changes for 1.9.105 (27th December 2010)
Summary:
========
* several new minor facilities in stlsoft::frequency_map
* improved compiler-compatibility in stlsoft::multibyte2wide and stlsoft::wide2multibyte
* WinSTL now recognises Win64 architecture when _WIN64 is defined even when WIN64 is not
Changes:
========
STLSoft:
========
~ stlsoft/containers/frequency_map.hpp:
+ added member function operator +=()
+ added non-member function operator +()
+ added total() method
+ added class invariant and enforcements
~ stlsoft/conversion/char_conversions.hpp:
~ GCC compatibility
~ stlsoft/shims/access/string/std/exception.hpp:
~ suppressed trivial unused warning
UNIXSTL:
========
~ unixstl/filesystem/path.hpp:
~ minor refactoring, to avoid use of str_n_copy() and str_cat()
~ unixstl/filesystem/readdir_sequence.hpp:
~ refactored to remove use of str_n_copy()
WinSTL:
=======
~ winstl/filesystem/path.hpp:
~ trivial refactoring
~ winstl/window/functions.h:
~ VC++/-Wp64 warning suppression
~ winstl/winstl.h:
~ now recognises _WIN64 (without WIN64) when defining architecture as WINSTL_OS_IS_WIN64, and emits a pragma message nag (for supporting compilers)
============================================================================
Changes for 1.9.104 (22nd November 2010)
Summary:
========
* refactored wide string exception string access shim functions, to avoid so-called "deprecated" (standard) functions when using VC++
* expanded internal buffers of shim strings for exception string access shims, from 10 to 100
Changes:
========
STLSoft:
========
~ include/stlsoft/shims/access/string/std/exception.hpp:
~ refactored wide-string string access shim functions, to avoid so-called "deprecated" (standard) functions when using VC++
~ expanded internal buffers of shim strings for exception string access shims, from 10 to 100
============================================================================
Changes for 1.9.103 (21st November 2010)
Summary:
========
* changed mechanism of discriminating Dinkumware standard library versions
* added typedefs for path_a and path_w to introduce them into the platformstl namespace
Changes:
========
STLSoft:
========
~ include/platformstl/filesystem/path.hpp:
+ added typedefs for path_a and path_w to introduce them into the platformstl namespace
~ include/stlsoft/util/std/library_discriminator.hpp:
~ changed mechanism of discriminating Dinkumware standard library versions: for versions with VC++ 7.0+ the library pre-processor symbol _CPPLIB_VER is the trusted authority
============================================================================
Changes for 1.9.102 (8th November 2010)
Summary:
========
* added wide string string access shims for std::exception
* fixed infinite-recursion defects in ambient shim function definitions
* other compatibility fixes
Changes:
========
STLSoft:
========
~ include/stlsoft/shims/access/string/std/exception.hpp:
+ added wide string string access shims for std::exception
~ fixed infinite-recursion defects in ambient shim function definitions
~ include/stlsoft/util/std/library_discriminator.hpp:
~ fixed VC9 (in)compatibility (which occurred only when including <functional> *before* STLSoft header files)
~ include/winstl/error/error_functions.h:
~ fixed incorrectly specified obsolete symbols
============================================================================
Changes for 1.9.101 (30th September 2010)
Summary:
========
* stlsoft::transform_iterator can now support transformation to types that do not support default construction
* fixed defect in stlsoft::transform_iterator
* platformstl::basic_file_lines refactored, and exception-safety enhanced
* winstl::memory_mapped_file refactored in preparation for substantial enhancement in 1.10; also no longer supports compilers that do not have native 64-bit integers
Changes:
========
STLSoft:
========
~ stlsoft/iterators/transform_iterator.hpp:
+ can now support transformation to types that do not support default construction
~ fixed nasty as anything defect in decrement operator
~ stlsoft/string/cstring_functions.hpp:
~ string_dup now responds robustly when out of memory used with a compiler that doesn't throw bad_alloc
~ stlsoft/string/simple_string.hpp:
~ string_traits<> specialisation for basic_simple_string now works with any basic_simple_string<C, T, A> specialisation permutation, rather than just basic_simple_string<C>
~ fix to defect in assign(cc*, size_t)
PlatformSTL:
============
~ platformstl/filesystem/file_lines.hpp:
~ trivial changes, ready for 1.10 changes
~ simplified refactoring, readying for 1.10
~ exception-safety correction
~ getting ready for major refactoring in 1.10
WinSTL:
=======
~ winstl/error/error_functions.h:
+ added character-encoding independent symbols
~ conversion of deprecated winstl__??? form to winstl_C_??? form
~ winstl/filesystem/memory_mapped_file.hpp:
- no longer supports compilers that do not have native 64-bit integers
~ final refactoring, ready for splitting in STLSoft 1.10
~ now allows for offset+requestSize for both 32-bit and 64-bit operation
~ benign change of casting syntax, in order to support forthcoming separation into (C) source files in STLSoft 1.10
~ winstl/system/console_functions.h:
~ benign changes to winstl_C_get_console_width() to aid debugging
~ winstl/winstl.h:
+ added INVALID_SET_FILE_POINTER
============================================================================
Changes for 1.9.100 (12th August 2010)
Summary:
========
* added stlsoft/iterators/common/string_concatenation_flags.hpp
* string_concatenator_iterator now strictly skips separator insertion for empty elements if no flags are specified, and always inserts separator if string_concatenation_flags::AlwaysSeparate is specified
* added performance_counter_init::get_period_and_restart() method
* added STLSOFT_CC_CDECL_VALUE, STLSOFT_CC_FASTCALL_VALUE, STLSOFT_CC_STDCALL_VALUE
* special_string_instance now uses atomic_int_type
* string_tokeniser iterator dereference operator changed to disallow return of mutable instance
* string_view has improved comparison algorithm
* added 3-, 4-, and 5-parameter overloads of stlsoft::minimum() and stlsoft::maximum()
* various fixes and enhancements to platformstl::file_lines
* added size() and empty() methods to winstl::environment_variable
* implemented winstl::system_traits::str_n_compare_no_case()
Changes:
========
STLSoft:
========
~ stlsoft/algorithms/pod.hpp:
~ refactored, to remove inappropriate constraints
+ stlsoft/iterators/common/string_concatenation_flags.hpp:
+ added stlsoft/iterators/common/string_concatenation_flags.hpp
~ stlsoft/iterators/string_concatenator_iterator.hpp:
~ now strictly skips separator insertion for empty elements if no flags are specified, and always inserts separator if string_concatenation_flags::AlwaysSeparate is specified
~ stlsoft/performance/performance_counter_init.hpp:
+ added get_period_and_restart() method
~ stlsoft/stlsoft.h:
+ added STLSOFT_CC_CDECL_VALUE
+ added STLSOFT_CC_FASTCALL_VALUE
+ added STLSOFT_CC_STDCALL_VALUE
~ stlsoft/string/special_string_instance.hpp:
~ special_string_instance now uses atomic_int_type
~ minor change to avoid possible undefined-behaviour
~ stlsoft/string/string_tokeniser.hpp:
~ iterator dereference operator changed to disallow return of mutable instance
~ stlsoft/string/string_view.hpp:
~ improved comparison algorithm
~ performance improvement in equal(class_type const&) method
~ stlsoft/util/constraints.hpp:
~ compiler compatibility
~ compatibility
~ workaround for pedantic warnings
~ stlsoft/util/minmax.hpp:
+ 3-, 4-, and 5-parameter overloads
COMSTL:
=======
~ comstl/util/rot_functions.h:
~ trivial commenting changes
PlatformSTL:
============
~ platformstl/filesystem/file_lines.hpp:
~ 64-bit compatibility
~ corrects the determination of whether to discard the mapping to work on the first non-empty string, since it will fault if the first line in a mapped file is empty but any others are not
+ conversion constructor is now explicit
+ added private declaration of constructor template to prevents the conversion constructor from being invoked on an instance of a different specialisation
~ allows wider range of string types to be used, in particular those that are copy-constructible but do not provide assign() methods
UNIXSTL:
========
~ unixstl/dl/module.hpp:
~ includes STLSoft's main shims header, to at least allow GCC to see std::string arguments without hassle
+ added typedefs to make compatible with get_module_handle() shim (not yet complete for UNIXSTL)
~ surrounding template methods with #ifdefs
~ throw() for unload() method(s)
~ unixstl/filesystem/filesystem_traits.hpp:
~ GCC (on Windows) compatibility
+ added missing member constant pathComparisonIsCaseSensitive to specialisations
~ unixstl/filesystem/path.hpp:
~ ensures push_ext() is wide-string compatible
WinSTL:
=======
~ winstl/dl/module.hpp:
~ documentation markup
~ winstl/filesystem/absolute_path.hpp:
~ winstl/filesystem/current_directory.hpp:
~ winstl/system/module_directory.hpp:
~ winstl/system/module_filename.hpp:
~ special_string_instance now uses atomic_int_type
~ winstl/filesystem/filesystem_traits.hpp:
+ added missing member constant pathComparisonIsCaseSensitive to specialisations
~ winstl/filesystem/path.hpp:
~ ensures push_ext() is wide-string compatible
~ winstl/system/console_functions.h:
~ winstl__get_console_width() => winstl_C_get_console_width()
~ winstl__get_console_window() => winstl_C_get_console_window()
~ minor improvements to use of casts
~ winstl/system/environment_variable.hpp:
+ added size() method
+ added empty() method
~ winstl/system/searchpath_sequence.hpp:
~ 64-bit compatibility
~ winstl/system/system_directory.hpp:
+ added atomic_int_type
~ winstl/system/system_traits.hpp:
~ implementation(s) of str_n_compare_no_case()
~ winstl/system/windows_directory.hpp:
+ added atomic_int_type
~ winstl/winstl.h:
+ added ws_intptr_t
+ added ws_sintptr_t
+ added ws_uintptr_t
============================================================================
Changes for 1.9.99 (21st June 2010)
Summary:
========
* added filesystem_traits::str_fs_compare() (UNIXSTL & WinSTL)
* added filesystem_traits::str_fs_n_compare() (UNIXSTL & WinSTL)
* added str_n_compare_no_case declaration to system_traits (UNIXSTL & WinSTL)
* added assoc_select_first() and assoc_select_second() creator functions for associative_select_iterator
* incorporated Manfred Ehrhart's fixes for associative_select_iterator
* Borland/GCC-compatibility fixes
* GCC-compatibility fixes
* nullptr support correction for VC++
* various minor fixes
Changes:
========
STLSoft:
========
~ stlsoft/error/error_desc.hpp:
~ stlsoft/string/special_string_instance.hpp:
~ GCC-compatibility fixes
~ stlsoft/filesystem/read_line.hpp:
~ required disambiguation, via separating readers from implementation
~ stlsoft/internal/cccap/msvc.h:
~ nullptr support correction for VC++
~ stlsoft/iterators/associative_select_iterator.hpp:
~ Borland/GCC-compatibility fixes
+ added assoc_select_first() function
+ added assoc_select_second() function
- removed the need to be explicit, to allow for assignment-syntax initialisation
+ incorporate (after inexcusable delay) Manfred Ehrhart's fixes, addressing inappropriate member type and defect in select_second()
UNIXSTL:
========
~ unixstl/filesystem/directory_functions.hpp:
~ improved documentation for remove_directory_recurse()
~ unixstl/filesystem/filesystem_traits.hpp:
+ added filesystem_traits::str_fs_compare()
+ added filesystem_traits::str_fs_n_compare()
~ unixstl/system/system_traits.hpp:
+ added str_n_compare_no_case declaration to system_traits
WinSTL:
=======
~ winstl/conversion/char_conversions.hpp:
~ GCC-compatibility fixes
~ winstl/filesystem/directory_functions.hpp:
~ improved documentation for remove_directory_recurse()
~ winstl/filesystem/filesystem_traits.hpp:
+ added filesystem_traits::str_fs_compare()
+ added filesystem_traits::str_fs_n_compare()
~ winstl/filesystem/findvolume_sequence.hpp:
~ adds missing inclusion of shims header file(s)
~ winstl/system/system_traits.hpp:
+ added str_n_compare_no_case declaration to system_traits
~ documentation markup
============================================================================
Changes for 1.9.98 (7th June 2010)
Summary:
========
* added range overload of stlsoft::read_line(), so can read lines from an iterator range
* added nullptr (C++0x) support for VC++ 10
* added swap() method to stlsoft::basic_shim_string
* added 3, 4, 5, and 6-split overloads to stlsoft::split()
* added sized-string ctor, data() and size() methods, and string access shims (to simplify xTests-based unit-testing, if nothing else) to stlsoft::exception_string
* added VARIANT_BOOL overload to comstl::method_cast()
* added platformstl::file_lines empty() method
* separated PlatformSTL's atomic types into separate file platformstl/synch/atomic_types.h
* separated UNIXSTL's atomic types into separate file unixstl/synch/atomic_types.h
* separated WinSTL's atomic types into separate file winstl/synch/atomic_types.h
* fixed winstl::memory_mapped_file to handle case where an offset is specified but there are 0 remaining bytes in the file to be mapped at that location: constructs an instance with 0 size
* fixed potential memory leak of format-message-string if windows_exception creation throws an exception
* moved COMSTL_CCH_GUID to comstl/comstl.h from comstl/shims/access/string/guid.hpp
* adjusted winstl::drophandle_sequence for Win64 compatibility
* adjusted winstl::version_info for Win64 compatibility
* various components no longer rely on operator += of exception_string type, in preparation for 1.10 versions
Changes:
========
STLSoft:
========
~ stlsoft/containers/frequency_map.hpp:
~ documentation markup
~ stlsoft/error/error_desc.hpp:
~ forwards and backwards compatibility with basic_shim_string
~ stlsoft/filesystem/read_line.hpp:
+ added range overload of read_line()
~ stlsoft/internal/cccap/msvc.h:
+ added nullptr (C++0x) support for VC++ 10
~ stlsoft/smartptr/ref_ptr.hpp:
~ formatting
~ stlsoft/string/shim_string.hpp:
~ stlsoft/string/shim_string_vc5_.hpp:
+ added swap() method
~ stlsoft/string/split_functions.hpp:
+ added 5 and 6 split overloads
+ added 3 and 4 split overloads
~ stlsoft/util/exception_string.hpp:
- removed all mutating methods and several constructors, to simplify exception_string: all dependent code should now use exception_string_creator
+ added sized-string constructor
+ string access shims (useful for unit-testing, if nothing else)
+ added data()
~ now all member and non-member functions are defined in terms of char_type
+ added size() method
~ stlsoft/util/forward_enums.hpp:
~ changed all double underscores
COMSTL:
=======
~ comstl/comstl.h:
+ added COMSTL_PTR_2_REF()
~ moved COMSTL_CCH_GUID to comstl/comstl.h from comstl/shims/access/string/guid.hpp
~ comstl/conversion/interface_cast.hpp:
~ documentation markup
~ comstl/conversion/method_cast.hpp:
+ added VARIANT_BOOL overload
~ comstl/error/excepinfo_functions.h:
~ comstl/shims/access/string/variant.hpp:
~ comstl/util/variant.hpp:
~ bstr_functions.h -> BSTR_functions.h
~ comstl/shims/access/string/guid.hpp:
~ moved COMSTL_CCH_GUID to comstl/comstl.h from comstl/shims/access/string/guid.hpp
~ bstr_functions.h -> BSTR_functions.h
~ comstl/string/bstr.hpp:
~ formatting
~ bstr_functions.h -> BSTR_functions.h
~ comstl/util/guid.hpp:
~ adds missing include (to stlsoft/util/std_swap.hpp)
PlatformSTL:
============
~ platformstl/filesystem/file_lines.hpp:
+ added empty() method
~ platformstl/synch/atomic_functions.h:
~ separated PlatformSTL's atomic types into separate file platformstl/synch/atomic_types.h
~ corrected include guard symbols
~ platformstl/synch/atomic_types.h:
~ separated PlatformSTL's atomic types into separate file platformstl/synch/atomic_types.h
UNIXSTL:
========
~ unixstl/error/exceptions.hpp:
~ no longer relies on operator += of exception_string type, in preparation for 1.10 versions
~ unixstl/synch/atomic_functions.h:
~ unixstl/synch/atomic_types.h:
~ separated UNIXSTL's atomic types into separate file unixstl/synch/atomic_types.h
WinSTL:
=======
~ winstl/dl/dl_call.hpp:
~ no longer relies on operator += of exception_string type, in preparation for 1.10 versions
~ winstl/error/exceptions.hpp:
~ preparation for STLSoft 1.10
~ whitespace
~ fixed potential memory leak if exception-creation throws an exception
~ no longer relies on operator += of exception_string type, in preparation for 1.10 versions
~ winstl/filesystem/memory_mapped_file.hpp:
~ now handles case where an offset is specified but there are 0 remaining bytes in the file to be mapped at that location: constructs an instance with 0 size
~ winstl/performance/threadtimes_counter.hpp:
~ winstl/system/system_version.hpp:
~ documentation markup
~ winstl/shell/drophandle_sequence.hpp:
~ winstl/system/version_info.hpp:
~ Win64 compatibility
~ winstl/synch/atomic_functions.h:
~ winstl/synch/atomic_types.h:
~ winstl/synch/spin_mutex.hpp:
~ separated WinSTL's atomic types into separate file winstl/synch/atomic_types.h
~ atomic_int_type is now winstl::atomic_int_t, rather than ws_sint32_t
============================================================================
Changes for 1.9.97 (4th April 2010)
Summary:
========
* added stlsoft::copy_preinc() and stlsoft::copy_postinc() algorithms
* added str_set() method to unixstl::/winstl::system_traits
* added unixstl/shims/conversion/to_uint64/stat.hpp
* added missing widestring specialisation of inetstl::filesystem_traits::is_path_name_separator()
* stlsoft::basic_error_desc synthesises widestring functionality if wcserror() is not available
* exposes widestring version of platformstl::system_traits from UNIXSTL
* comstl::variant compatibility with exception-support disabled
* removed erroneous definitions of strtol(), strtoul(), strtod()
* added missing 'mode' parameter to unixstl::module::load(), and uses 'mode' parameter passed to constructor template
* typename corrections to platformstl::basic_file_path_buffer and platformstl::basic_path
* improved discrimination of Visual C++ 9 / 10
* fixed defective arithmetic in unixstl::/winstl::memory_mapped_file
* refactored implementation of winstl::reg_key::create_key() to avoid infinite loop faults
Changes:
========
STLSoft:
========
~ stlsoft/algorithms/debug.hpp:
+ copy_preinc()
+ copy_postinc()
~ stlsoft/error/error_desc.hpp:
+ synthesises widestring functionality - in terms of strerror() - if not available as wcserror (or "safe string" equivalent)
~ stlsoft/std/cstdlib.hpp:
- removed erroneous definitions of strtol(), strtoul(), strtod(): they used string access shims to elicit the string form of their arguments, and returned a pointer into the parsed string (which may no longer exist by the time the function returns)
+ added strtol(char const*, ...) and strtol(wchar_t const*, ...)
+ added strtoul(char const*, ...) and strtoul(wchar_t const*, ...)
+ added strtod(char const*, ...) and strtod(wchar_t const*, ...)
~ stlsoft/util/std/library_discriminator.hpp:
~ better discrimination of VC++ 9 & 10
COMSTL:
=======
~ comstl/collections/enumerator_sequence.hpp:
~ minor warning workaround
~ comstl/util/variant.hpp:
~ compatibility with exception-support disabled
InetSTL:
========
~ inetstl/filesystem/filesystem_traits.hpp:
+ added missing is_path_name_separator for wide specialisation
PlatformSTL:
============
~ platformstl/filesystem/file_path_buffer.hpp:
~ platformstl/filesystem/path.hpp:
~ correct use of typename to indicate dependent types in default template arguments
~ platformstl/system/system_traits.hpp:
~ exposes wide version from UNIXSTL
UNIXSTL:
========
~ unixstl/dl/module.hpp:
+ added missing 'mode' parameter to load()
~ used 'mode' parameter passed to constructor template
~ unixstl/filesystem/memory_mapped_file.hpp:
~ fixed defective arithmetic when validating non-0 request size
~ unixstl/filesystem/path_functions.hpp:
~ refactored implementation
~ unixstl/shims/conversion/to_uint64/stat.hpp:
+ added unixstl/shims/conversion/to_uint64/stat.hpp
~ unixstl/synch/atomic_functions.h:
~ unixstl/synch/util/features.h:
~ preparation for future refinement
~ unixstl/system/system_traits.hpp:
+ str_set() method
~ other widestring compatibility changes
WinSTL:
=======
~ winstl/filesystem/memory_mapped_file.hpp:
~ fixed defective arithmetic when validating non-0 request size
~ winstl/filesystem/path_functions.hpp:
~ minor restructuring
~ winstl/registry/reg_key.hpp:
~ refactored implementation of create_key() to avoid infinite loop fault in case of passing string types of non-matching character encodings
~ winstl/system/system_traits.hpp:
+ str_set() method
============================================================================
Changes for 1.9.96 (10th March 2010)
Summary:
========
* Visual C++ 10 compatibility
Changes:
========
STLSoft:
========
~ include/stlsoft/internal/cccap/msvc.h:
+ VC++ 10 compatibility
~ include/stlsoft/stlsoft.h:
+ Visual C++ 10 support
~ include/stlsoft/util/std/iterator_helper.hpp:
+ added support for Dinkumware 10 (as well as making explicit support for Dinkumware 8 & 9)
~ include/stlsoft/util/std/library_discriminator.hpp:
~ refactored Dinkumware detection, to discriminate 8, 9 and 10
============================================================================
Changes for 1.9.95 (7th March 2010)
Summary:
========
* minor interface modifications to comstl::com_exception
Changes:
========
COMSTL:
========
~ include/comstl/error/exceptions.hpp:
+ added get_hr()
~ deprecated hr()
============================================================================
Changes for 1.9.94 (5th March 2010)
Summary:
========
* corrected omission of inline from swap for unixstl::memory_mapped_file
* corrected omission of inline from swap for winstl::memory_mapped_file
Changes:
========
UNIXSTL:
========
~ include/unixstl/filesystem/memory_mapped_file.hpp:
~ corrected omission of inline from swap for unixstl::memory_mapped_file
WinSTL:
=======
~ include/winstl/filesystem/memory_mapped_file.hpp:
~ corrected omission of inline from swap for winstl::memory_mapped_file
============================================================================
Changes for 1.9.93 (15th February 2010)
Summary:
========
* STLSOFT_CF_NAMESPACE_SUPPORT is now only defined in C++ compilation units
* added WINSTL_CONST_MAX_PATH, which is now used instead of _MAX_PATH throughout winstl
Changes:
========
STLSoft:
========
~ include/stlsoft/internal/cccap/borland.h:
~ include/stlsoft/internal/cccap/como.h:
~ include/stlsoft/internal/cccap/dmc.h:
~ include/stlsoft/internal/cccap/gcc.h:
~ include/stlsoft/internal/cccap/intel.h:
~ include/stlsoft/internal/cccap/msvc.h:
~ include/stlsoft/internal/cccap/mwerks.h:
~ include/stlsoft/internal/cccap/unknown.h:
~ include/stlsoft/internal/cccap/vectorc.h:
~ include/stlsoft/internal/cccap/watcom.h:
~ STLSOFT_CF_NAMESPACE_SUPPORT is now only defined in C++ compilation units
COMSTL:
=======
~ include/comstl/error/errorinfo_desc.hpp:
~ cast change
WinSTL:
=======
~ include/winstl/winstl.h:
+ added WINSTL_CONST_MAX_PATH
~ include/winstl/filesystem/file_path_buffer.hpp:
~ include/winstl/filesystem/filesystem_traits.hpp:
~ include/winstl/filesystem/findvolume_sequence.hpp:
~ include/winstl/filesystem/path.hpp:
~ include/winstl/shell/browse_for_folder.hpp:
~ include/winstl/shell/drophandle_sequence.hpp:
~ include/winstl/shell/file_operations.hpp:
~ include/winstl/system/searchpath_sequence.hpp:
~ include/winstl/system/system_traits.hpp:
~ include/winstl/system/version_info.hpp:
~ now uses WINSTL_CONST_MAX_PATH
============================================================================
Changes for 1.9.92 (11th February 2010)
Summary:
========
* added inetstl::filesystem_traits<>::is_path_name_separator()
Changes:
========
InetSTL:
========
~ inetstl/filesystem/filesystem_traits.hpp:
+ added is_path_name_separator()
============================================================================
Changes for 1.9.91 (2nd February 2010)
Summary:
========
* introducing unixstl::/winstl::remove_directory_recurse() into platformstl namespace
* removal of dependency on so-called "unsafe" string functions
* elimination of calls to memcpy() in path classes
* throwing of exception in make_absolute() if failed to get full path
Changes:
========
PlatformSTL:
============
~ platformstl/filesystem/directory_functions.hpp:
+ introducing unixstl::/winstl::remove_directory_recurse() into platformstl namespace
UNIXSTL:
========
~ unixstl/filesystem/path.hpp:
~ elimination of calls to memcpy()
~ throwing of exception in make_absolute() if failed to get full path
WinSTL:
=======
~ winstl/filesystem/directory_functions.hpp:
- removal of dependency on so-called "unsafe" string functions
~ winstl/filesystem/path.hpp:
~ elimination of calls to memcpy()
============================================================================
Changes for 1.9.90 (21st January 2010)
Summary:
========
* fixed defect in unixstl::filesystem_traits<>::get_full_path_name() when passed "."
* header ordering workaround for GCC 3.4's strange COM headers on Windows
Changes:
========
UNIXSTL:
========
~ include/unixstl/filesystem/filesystem_traits.hpp:
~ fixed defect in get_full_path_name() when passed "."
WinSTL:
=======
~ include/winstl/winstl.h:
~ header ordering, for GCC 3.4
============================================================================
Changes for 1.9.89 (19th January 2010)
Summary:
========
* fixed defective stream inserter for stlsoft::error_desc
* fixed erroneous push-pop in include/acestl/reactor/custom_event_handler.hpp:
* safe-string compatibility for various UNIXSTL system/filesystem components
Changes:
========
general:
=======
STLSoft:
========
~ include/stlsoft/error/error_desc.hpp:
~ fixed defective stream inserter definition
ACESTL:
=======
~ include/acestl/reactor/custom_event_handler.hpp:
~ corrected warning suppression push-pop
UNIXSTL:
========
~ include/unixstl/filesystem/filesystem_traits.hpp:
~ include/unixstl/filesystem/glob_sequence.hpp:
~ include/unixstl/filesystem/path_functions.hpp:
~ include/unixstl/filesystem/readdir_sequence.hpp:
~ include/unixstl/system/system_traits.hpp:
~ safe string compatibility
============================================================================
Changes for 1.9.88 (12th January 2010)
Summary:
========
* added throwOnAccessFailure search flag to winstl::basic_findfile_sequence, along with supporting code
* added winstl::access_exception
* full integer handling for comstl::variant
* addition of max_size() static method to basic_file_path_buffer class template
* change of max_size() method to be static in basic_path
* fixed longstanding incompatibility between reverse_iterator and const_reverse_iterator
* C compatibility fixes
* compatibility with GCC 3.4
* truncation_test is now a function template (rather than a macro to an internal function)
* deprecation/removal of reserved symbols, and replacement with valid symbols
Changes:
========
general:
=======
STLSoft:
========
~ stlsoft/internal/cccap/unknown.h:
~ changed to "modern" form of feature discrimination mechanisms
~ stlsoft/conversion/truncation_test.hpp:
~ truncation_test is now a function template (rather than a macro to an internal function)
~ stlsoft/internal/cccap/msvc.h:
~ C compatibility fixes
~ stlsoft/util/std/iterator_helper.hpp:
~ compatibility between reverse_iterator and const_reverse_iterator
COMSTL:
=======
~ comstl/comstl.h:
~ comstl/error/errorinfo_functions.h:
~ compatibility with GCC 3.4
~ comstl/util/rot_functions.h:
~ conversion of deprecated comstl__??? form to comstl_C_??? form
~ comstl/util/variant.hpp:
+ added ctors for unsigned integral types
~ full handling of integers
MFCSTL:
=======
~ mfcstl/shims/access/string/cwnd.hpp:
~ removing use of reserved symbols
UNIXSTL:
========
~ unixstl/filesystem/file_path_buffer.hpp:
+ added max_size() static method
~ unixstl/filesystem/path.hpp:
~ changed max_size() method to be static
WinSTL:
=======
~ winstl/controls/listview_sequence.hpp:
~ introduction of lvs_string_t from global namespace (where it should not be defined) to the winstl namespace (where it should be)
~ winstl/error/exceptions.hpp:
+ added winstl::access_exception
~ winstl/filesystem/file_path_buffer.hpp:
+ added max_size() static method
~ winstl/filesystem/findfile_sequence.hpp:
+ added throwOnAccessFailure search flag, along with supporting code
~ winstl/filesystem/path.hpp:
~ changed max_size() method to be static
~ winstl/performance/threadtimes_counter.hpp:
~ refactored in preparation of throwing of exceptions when timing information cannot be elicited
~ winstl/shims/access/string/HWND.hpp:
~ removing use of reserved symbols
~ winstl/winstl.h:
~ compatibility with GCC 3.4
+ added MAKEINTRESOURCEA
+ added MAKEINTRESOURCEW
============================================================================
Changes for 1.9.87 (11th August 2009)
Summary:
========
* trivial formatting changes
============================================================================
Changes for 1.9.86 (24th July 2009)
Summary:
========
* added STLSOFT_CF_THISCALL_SUPPORTED
* added thiscall overloads of mem_fun_ref() and mem_fun_ref_void()
* Borland compatibility for scoped_handle
* fix to unixstl::filesystem_traits::get_full_path_name() (to detect when path contains reserved characters)
Changes:
========
general:
=======
~ include/acestl/acestl.hpp:
~ include/atlstl/atlstl.hpp:
~ include/comstl/comstl.h:
~ include/dotnetstl/dotnetstl.hpp:
~ include/inetstl/inetstl.h:
~ include/mfcstl/mfcstl.hpp:
~ include/unixstl/unixstl.h:
~ include/winstl/error/error_desc.hpp:
~ include/winstl/winstl.h:
~ include/wtlstl/wtlstl.hpp:
~ minor documentation change
STLSoft:
========
~ include/stlsoft/functional/method_adaptors.hpp:
~ thiscall overloads of mem_fun_ref() and mem_fun_ref_void()
~ include/stlsoft/internal/cccap/borland.h:
~ include/stlsoft/internal/cccap/como.h:
~ include/stlsoft/internal/cccap/dmc.h:
~ include/stlsoft/internal/cccap/mwerks.h:
~ include/stlsoft/internal/cccap/vectorc.h:
~ include/stlsoft/internal/cccap/watcom.h:
+ added compiler feature symbol STLSOFT_CF_THISCALL_SUPPORTED
~ include/stlsoft/internal/cccap/gcc.h:
~ include/stlsoft/internal/cccap/msvc.h:
+ added compiler feature symbol STLSOFT_CF_THISCALL_SUPPORTED
~ trivial formatting changes
~ include/stlsoft/internal/cccap/intel.h:
+ added compiler feature symbol STLSOFT_CF_THISCALL_SUPPORTED
~ changed compiler discrimination features to STLSoft 1.10 mode
~ include/stlsoft/smartptr/scoped_handle_borland_.hpp:
~ Borland 5.5(.1) compatibility
PlatformSTL:
============
~ include/platformstl/platformstl.h:
+ PlatformSTL contract enforcement macros
UNIXSTL:
========
~ include/unixstl/error/exceptions.hpp:
~ suppresses "safe string" library warnings, when compiling with VC++
~ include/unixstl/filesystem/filesystem_traits.hpp:
~ get_full_path_name() now fails, and sets errno to ENOENT, if path contains a reserved character (one in "<>|*?")
WinSTL:
=======
~ include/winstl/filesystem/path.hpp:
~ minor changes to exception-specifications
============================================================================
Changes for 1.9.85 (16th June 2009)
Summary:
========
* added merge() and swap() to stlsoft::frequence_map class template
* winstl::listview_sequence::value_type::string_type (aka lvs_string_t) is now overrideable via the preprocessor, in preparation for future expansion of flexibility
Changes:
========
ATLSTL:
=======
~ atlstl/window/enhanced_window.hpp:
~ refactored child dialog handle elicitation to single private method, in preparation of future increased flexibility
STLSoft:
========
~ stlsoft/containers/frequency_map.hpp:
+ added merge() method, which adds the entries and counts to the map
+ added swap()
~ changed default count type to unsigned int for VC++ pre-7.0, to avoid incompatibilities with other libraries
~ stlsoft/error/error_desc.hpp:
~ nothrow on get_description() and c_str()
WinSTL:
=======
~ winstl/controls/listview_sequence.hpp:
~ lvs_string_t may now be overridden via the pre-processor, in preparation for future expansion of flexibility
============================================================================
Changes for 1.9.84 (23rd May 2009)
Summary:
========
* fixed defect in winstl::basic_reg_key::set_value() for REG_MULTI_SZ values (widestring only)
* "safe string" library and widestring support for stlsoft::basic_error_desc
* various 64-bit LP64 compatibility changes
Changes:
========
COMSTL:
=======
~ include/comstl/comstl.h:
~ documentation enhancements
STLSoft:
========
~ include/stlsoft/error/error_desc.hpp:
~ "safe string" library support
~ widestring support
~ include/stlsoft/memory/auto_buffer.hpp:
~ include/stlsoft/string/string_traits.hpp:
~ include/stlsoft/util/integral_printf_traits.hpp:
~ include/stlsoft/util/limit_traits.h:
~ include/stlsoft/util/sign_traits.hpp:
~ 64-bit (LP64) compatibility
WinSTL:
=======
~ include/winstl/registry/reg_key.hpp:
~ fixed defect in set_value_() overload for REG_MULTI_SZ values (widestring only)
============================================================================
Changes for 1.9.83 (19th May 2009)
Summary:
========
* fixed defects in winstl::basic_reg_value::value_sz()/value_multi_sz()
* fixed defects in exception-safety in winstl::basic_reg_value and winstl::basic_reg_key
* various minor fixes and documentation mods
Changes:
========
WinSTL:
=======
~ include/winstl/registry/reg_key.hpp:
~ corrected exception-safety defect (by reversing the order of m_name and m_hkey)
~ added required dependency on <functional>
~ documentation simplification
~ include/winstl/registry/reg_traits.hpp:
+ added reg_dup_key()
- deprecated key_dup()
~ linearising behaviour between operating systems
~ tightening type-conversions
~ documentation simplification
~ include/winstl/registry/reg_value.hpp:
~ modifications to value_multi_sz() and value_sz() to avoid possible race conditions (with registry changes made by other processes)
~ corrected exception-safety defect (by reversing the order of m_name and m_hkey)
~ documentation simplification
============================================================================
Changes for 1.9.82 (15th May 2009)
Summary:
========
* added winstl::reg_traits<>::reg_delete_tree()
* added IOStreams compatibility for winstl::findfile_sequence::value_type
Changes:
========
WinSTL:
=======
~ include/winstl/filesystem/findfile_sequence.hpp:
+ added compatibility with IOStreams
~ include/winstl/registry/reg_traits.hpp:
+ added reg_delete_tree()
============================================================================
Changes for 1.9.81 (7th May 2009)
Summary:
========
* now recognises __func__, provided by Sun Pro, via STLSOFT_CF_func_SYMBOL_SUPPORT
* abstracts __FUNCTION__ support to STLSOFT_FUNCTION_SYMBOL
Changes:
========
STLSoft:
========
~ include/stlsoft/internal/cccap/obsolete.h:
~ include/stlsoft/internal/cccap/sunpro.h:
+ added __func__ support detection
~ include/stlsoft/stlsoft.h:
+ added __func__ support detection, via STLSOFT_CF_func_SYMBOL_SUPPORT
+ added symbol for __FUNCTION__ or equivalent: STLSOFT_FUNCTION_SYMBOL
============================================================================
Changes for 1.9.80 (6th May 2009)
Summary:
========
* now recognises support for variadic macros and #pragma once for later versions of Borland C/C++
* SunPro compatibility improvements for UNIXSTL synchronisation components
* fixes to defects in stlsoft::basic_simple_string at() and 5-parameter compare() methods
* basic_path class templates (both UNIXSTL and WinSTL versions) now implement assignment operator differently to avoid possibilities of infinite loops (which can happen when a type with an opposing string encoding is used)
* correction to stlsoft::auto_buffer to ensure allocators are involved in swap() operations
* correction to struct in_addr string access shims for compatibility with big-endian architectures
* various changes for compatibility with "safe string" library
Changes:
========
STLSoft:
========
~ include/stlsoft/algorithms/std/alt.hpp:
~ "safe string" library compatibility (via a workaround that just ignores it wrt std::find())
~ include/stlsoft/internal/cccap/borland.h:
~ STLSOFT_CF_PRAGMA_ONCE_SUPPORT support
~ STLSOFT_CF_SUPPORTS_VARIADIC_MACROS support
~ include/stlsoft/iterators/null_output_iterator.hpp:
~ suppression of compiler warning
~ include/stlsoft/memory/auto_buffer.hpp:
~ now swaps allocators
~ include/stlsoft/string/simple_string.hpp:
~ more "safe string" compatibility
~ fixed defective 5-parameter compare() method
~ fixed defect in non-mutating version of at(), whereby specifying the index == length did not throw, but returned a reference to the terminating nul character (which is what the subscript operator should do (and does do))
~ include/stlsoft/string/split_functions.hpp:
~ trivial formatting change
InetSTL:
========
~ include/inetstl/shims/access/string/std/in_addr.hpp:
~ use of ntohl(), so compatible with big-endian as well as little
~ compatibility with "safe string" library
UNIXSTL:
========
~ include/unixstl/filesystem/path.hpp:
~ changed implementation of generic operator =() in order to avoid possibilities of infinite loops (which can happen when a type with an opposing string encoding is used)
~ trivial documentation markup changes
~ include/unixstl/synch/process_mutex.hpp:
~ SunPro support (partially complete)
~ include/unixstl/synch/thread_mutex.hpp:
~ SunPro support (partially complete)
WinSTL:
=======
~ include/winstl/filesystem/path.hpp:
~ changed implementation of generic operator =() in order to avoid possibilities of infinite loops (which can happen when a type with an opposing string encoding is used)
============================================================================
Changes for 1.9.79 (2nd May 2009)
Summary:
========
* UNIX compatibility for InetSTL
* "safe string" library compatibility for InetSTL
Changes:
========
InetSTL:
========
~ include/inetstl/inetstl.h:
~ include/inetstl/error/exceptions.hpp:
~ include/inetstl/filesystem/filesystem_traits.hpp:
~ include/inetstl/filesystem/findfile_sequence.hpp:
~ include/inetstl/filesystem/ftpdir_sequence.hpp:
~ include/inetstl/filesystem/functionals.hpp:
~ include/inetstl/filesystem/searchspec_sequence.hpp:
~ include/inetstl/network/connection.hpp:
~ include/inetstl/network/session.hpp:
~ UNIX compatibility
~ include/inetstl/shims/access/string/std/in_addr.hpp:
~ compatibility with "safe string" library
============================================================================
Changes for 1.9.78 (27th April 2009)
Summary:
========
* fixed serious defect in atlstl::copy_enumerator_impl::Reset()
* stlsoft::shared_ptr now works correctly if fails to allocate counter
variable in conditions where exception handling is not supported
* stlsoft::c_str_data_a(struct fm const*) now correctly handles case where
tm pointer is NULL
* corrected behaviour of get_environment_variable for both UNIXSTL and
WinSTL system_traits traits classes
* various compiler compatibility fixes
* various documentation corrections
Changes:
========
STLSoft:
========
~ stlsoft/iterators/ostream_iterator.hpp:
~ documentation corrections
~ stlsoft/shims/access/string/std/time.hpp:
~ c_str_data_a(struct tm const* t) now correctly handles NULL tm pointer
~ stlsoft/smartptr/shared_ptr.hpp:
~ now correctly handles failure to allocate the shared counter, even when compiling absent exceptions
ATLSTL:
=======
~ atlstl/automation/enumerators.hpp:
~ fixed defect in Reset() - which did nothing! - that was introduced in STLSoft 1.9.1 beta 5 (!) upon transcription from the original, correct, Synesis Software proprietary source
~ minor documentation fixes
UNIXSTL:
========
~ unixstl/filesystem/filesystem_traits.hpp:
- removal of dependency of str(n)cpy()/wcs(n)cpy(), which causes VC++ 8+ to carp about "safety"
~ unixstl/system/system_traits.hpp:
~ corrected behaviour of get_environment_variable()
WinSTL:
=======
~ winstl/filesystem/memory_mapped_file.hpp:
~ CodeWarrior compatibility
~ winstl/system/system_traits.hpp:
~ corrected behaviour of get_environment_variable()
============================================================================
Changes for 1.9.77 (9th March 2009)
Summary:
========
* corrected invalid invariants in memory_mapped_file classes in UNIXSTL and
WinSTL
Changes:
========
UNIXSTL:
========
~ include/unixstl/filesystem/memory_mapped_file.hpp:
~ fixed invalid invariant
WinSTL:
=======
~ include/winstl/filesystem/memory_mapped_file.hpp:
~ fixed invalid invariant
============================================================================
Changes for 1.9.76 (6th March 2009)
Summary:
========
* added swap() methods to memory_mapped_file classes in UNIXSTL and WinSTL
* corrected defect in VC++ detection of bad_alloc support (which only
affects VC++ 6 or earlier)
Changes:
========
STLSoft:
========
~ include/stlsoft/internal/cccap/msvc.h:
~ corrected detection of bad_alloc support
UNIXSTL:
========
~ include/unixstl/filesystem/memory_mapped_file.hpp:
+ added swap() method, and std::swap() overload
WinSTL:
=======
~ include/winstl/filesystem/memory_mapped_file.hpp:
+ added swap() method, and std::swap() overload
============================================================================
Changes for 1.9.75 (26th February 2009)
Summary:
========
* tidied up COMSTL documentation
* tidied up scoped_handle use in winstl::memory_mapped_file
* added checks to detect at compile time accidental use of &stat_data with winstl::filesystem_traits<>::get_file_size()
* fixed defect in winstl::basic_reg_value::value_sz(), whereby the nul-terminator is included in the resultant string length
* tidied up winstl::basic_path, and added max_size() method
* tidied up winstl::basic_commandline_parser, added substring-constructor, and changed subscript operator to allow indexing (but not use) of the end element
Changes:
========
COMSTL:
=======
~ include/comstl/collections/collection_sequence.hpp:
~ include/comstl/collections/enumeration_policies.hpp:
~ include/comstl/collections/enumerator_sequence.hpp:
~ include/comstl/util/value_policies.hpp:
~ enhanced documentation markup
WinSTL:
=======
~ include/winstl/filesystem/filesystem_traits.hpp:
~ added private method declarations to prevent accidental use of get_file_size(HANDLE) as if it was get_file_size(&stat_data)
~ include/winstl/filesystem/memory_mapped_file.hpp:
~ tidied up use of scoped_handle for compilers that struggle with it
~ include/winstl/filesystem/path.hpp:
+ added max_size() method
~ minor documentation markup enhancements
+ added precondition enforcement onto push() method
~ moved implementation of push(char_type*) into push_() worker method, in preparation for using ptr+len in public methods
~ include/winstl/registry/reg_value.hpp:
~ fixed defect in value_sz() method, whereby the resultant string length erroneously included the nul-terminator
~ include/winstl/system/commandline_parser.hpp:
- removed \brief documentation markup tags
+ added additional ctor, taking length
~ renamed all internal member types to have trailing underscore
~ changed subscript operator to be able to index (but not use) the end element
============================================================================
Changes for 1.9.74 (13th February 2009)
Summary:
========
* further implementation of special Borland version of stlsoft::scoped_handle
* further workarounds to Borland code generation defects in stlsoft::basic_simple_string and platformstl::basic_file_lines
Changes:
========
STLSoft:
========
~ include/stlsoft/smartptr/scoped_handle_borland_.hpp:
+ implementation for scoped_handle<void>
~ include/stlsoft/string/simple_string.hpp:
~ insertion of non-functioning code to cause Borland 6.1.x to generate correct code (in Pantheios, amongst others)
PlatformSTL:
============
~ include/platformstl/filesystem/file_lines.hpp:
~ workaround for Borland code generation defect
============================================================================
Changes for 1.9.73 (3rd February 2009)
Summary:
========
* added partial support for Borland 5.9.x and 6.1.x; to support use of Borland with Pantheios
* re-applied VC++ 7.1 workaround eroneously removed in 1.9.70
Changes:
========
STLSoft:
========
~ include/stlsoft/stlsoft.h:
+ support for Borland 5.9.x and 6.1.x
~ include/stlsoft/smartptr/scoped_handle.hpp:
+ proper support for Borland, via a separate implementation (in stlsoft/smartptr/scoped_handle_borland_.hpp)
~ include/stlsoft/smartptr/scoped_handle_borland_.hpp:
+ support for Borland 5.9.x and 6.1.x
WinSTL:
=======
~ include/winstl/filesystem/findfile_sequence.hpp:
~ workaround for VC++ 7.1 defect (requiring length() to return size_t, not member type size_type)
============================================================================
Changes for 1.9.72 (1st February 2009)
Summary:
========
* added char_copy() methods to filesystem_traits classes in UNIXSTL, as part of move away from "unsafe" string functions
* fixed defect in winstl::squeeze_path() whereby wrong length is returned if buffer size is < 5 and the file length < buffer size
* removes unwanted trailing slash in application directory from winstl::basic_searchpath_sequence
* further work to remove dependency on "unsafe" string functions
Changes:
========
COMSTL:
=======
~ include/comstl/shims/access/string/guid.hpp:
~ modified symbols that broke reserved naming rules
InetSTL:
========
~ include/inetstl/filesystem/filesystem_traits.hpp:
+ added str_n_compare()
~ tidied up asserts
- removed dependency on "unsafe" string library functions
~ include/inetstl/filesystem/findfile_sequence.hpp:
- removed dependency on "unsafe" string library functions
+ added optional length parameter to get_directory()
UNIXSTL:
========
~ include/unixstl/filesystem/file_path_buffer.hpp:
~ tidying up
~ include/unixstl/filesystem/filesystem_traits.hpp:
~ tidying up, and removal of declarations of functions (from wide char specialisation) that are not implemented
~ include/unixstl/filesystem/path.hpp:
- removal of dependency on so-called "unsafe" string functions
~ simplification of implementation
~ include/unixstl/system/system_traits.hpp:
+ added char_copy()
WinSTL:
=======
~ include/winstl/error/exceptions.hpp:
~ minor mods
~ include/winstl/filesystem/findvolume_sequence.hpp:
- removed dependency on "unsafe" string functions
~ include/winstl/filesystem/path.hpp:
~ simplification
~ include/winstl/filesystem/path_functions.hpp:
~ fixed defect whereby if buffer size is < 5 and the file length < buffer size, the wrong length is returned
~ now implemented in terms of system_traits<>::char_copy()
~ include/winstl/system/searchpath_sequence.hpp:
~ no longer dependent on "safe" string library
~ removes unwanted trailing slash on application directory
~ include/winstl/system/system_traits.hpp:
~ tidied up asserts
============================================================================
Changes for 1.9.71 (28th January 2009)
Summary:
========
* fixed DMC++ incompatibility introduced in 1.9.70
Changes:
========
WinSTL:
=======
~ include/winstl/filesystem/findfile_sequence.hpp:
~ added workaround for missing CO_E_PATHTOOLONG on DMC++
============================================================================
Changes for 1.9.70 (25th January 2009)
Summary:
========
* improved stlsoft::find_next_token() function templates to ensure that all empty fields are reported to caller
* added char_copy() methods to filesystem_traits classes in InetSTL and WinSTL, as part of move away from "unsafe" string functions
* minor enhancements to platformstl::readdir_sequence, to disambiguate constructor overloads
* removed all "unsafe" string functions from winstl::basic_findfile_sequence class template and supporting components
* improved winstl::basic_path class template to ensure proper behaviour in corner cases of use of push() and pop() methods
Changes:
========
STLSoft:
========
~ include/stlsoft/string/tokeniser_functions.hpp:
~ fixed benign defects in find_next_token() overloads, whereby certain empty fields were not reported to caller
~ documentation enhancements
~ adding in more pre-condition enforcements
InetSTL:
========
~ include/inetstl/filesystem/filesystem_traits.hpp:
+ char_copy() operations
PlatformstSTL:
==============
~ include/platformstl/filesystem/readdir_sequence.hpp:
~ separation and disambiguation of constructor overloads
WinSTL:
=======
~ include/winstl/filesystem/findfile_sequence.hpp:
+ added defaulted parameter to get_directory() to retrieve the directory length
~ replaced all instances of so-called "unsafe" string functions with system_traits::char_copy()
~ include/winstl/filesystem/path.hpp:
~ various fixes to push() and push_sep()
~ corrected defects in pop(), seen in root directory paths, and paths involving UNC
~ include/winstl/system/system_traits.hpp:
+ added char_copy() to system_traits specialisations
~ trivial documentation markup modifications
============================================================================
Changes for 1.9.69 (23rd January 2009)
Summary:
========
* improved robustness of winstl::path_squeeze
* more "Safe String" library compatibility changes
Changes:
========
WinSTL:
=======
~ include/winstl/filesystem/path.hpp:
~ now implemented in terms of memcpy(), rather than strcpy(), strcat(), etc.
~ include/winstl/filesystem/path_functions.hpp:
~ making robust in light of corner cases
~ include/winstl/string/resource_string.hpp:
~ removal of unnecessary string access shim
============================================================================
Changes for 1.9.68 (18th January 2009)
Summary:
========
* fix defect, and updated docs, for stlsoft::must_init utility class template
Changes:
========
STLSoft:
========
~ include/stlsoft/util/must_init.hpp:
~ fixed ambiguous operator +() bug
~ documentation fixes
============================================================================
Changes for 1.9.67 (17th January 2009)
Summary:
========
* compatibility with GCC on Fedora on PPC
* correction of semantics of null_allocator
Changes:
========
STLSoft:
========
~ include/stlsoft/stlsoft.h:
~ minor mods to documentation markup
~ include/stlsoft/internal/cccap/gcc.h:
~ PowerPC (Fedora Linux) compatibility fix (thanks to Sergey Nikulov)
~ include/stlsoft/memory/null_allocator.hpp:
~ when exception support is enabled it throws std::bad_alloc; otherwise, requesting memory from it is a contract violation
============================================================================
Changes for 1.9.66 (4th January 2009)
Summary:
========
* compatibility with GCC 4.3's pedantic precedence warnings
* compatibility with SunPro compiler for limit_traits
Changes:
========
STLSoft:
========
~ include/stlsoft/internal/cccap/sunpro.h:
~ correcting Jon's surname
~ include/stlsoft/stlsoft.h:
~ compatibility with GCC 4.3's pedantic precedence warnings
~ include/stlsoft/util/limit_traits.h:
~ compatibility with SunPro compiler
============================================================================
Changes for 1.9.65 (1st January 2009)
Summary:
========
* "Safe String" library compatibility changes
Changes:
========
WinSTL:
=======
~ include/winstl/filesystem/filesystem_traits.hpp:
- removal of dependency of str(n)cpy()/wcs(n)cpy(), which causes VC++ 8+ to carp about "safety"
- removal of dependency of strcpy()/wcscpy(), which causes VC++ 8+ to carp about "safety"
~ include/winstl/synch/process_mutex.hpp:
~ trivial documentation modification
============================================================================
Changes for 1.9.64 (28th December 2008)
Summary:
========
* fix to string access shims for VARIANT
Changes:
========
COMSTL:
=======
~ include/comstl/shims/access/string/variant.hpp:
~ fixed defect seen with Borland, whereby conversion to multibyte string
in c_str_VARIANT_proxy_a's implicit conversion operator was not
carried out
============================================================================
Changes for 1.9.63 (9th December 2008)
Summary:
========
* optimised stlsoft::basic_string_view::reserve()
* enhanced compatibility for stlsoft::fixed_array_?d class templates
Changes:
========
STLSoft:
========
~ stlsoft/containers/fixed_arrays.hpp:
~ compatibility with VC++ /Za option for fixed arrays
~ stlsoft/string/simple_string.hpp:
~ optimised reserve() method so that it now does not alloc new buffer if
requested size is less than current capacity
============================================================================
Changes for 1.9.62 (1st December 2008)
Summary:
========
* fixed defect in interface_cast<> and try_interface_cast<>
* improved compatibility with Visual C++ 9
* speculative support for Intel C/C++ 11.0
* fixed defect in winstl::to_SYSTEMTIME(DATE) overload
Changes:
========
COMSTL:
-------
~ comstl/conversion/interface_cast.hpp:
~ fixed reference leak in smart pointer forms of interface_cast() and try_interface_cast()
~ comstl/conversion/method_cast.hpp:
~ minor tidying
STLSoft:
--------
~ stlsoft/internal/cccap/msvc.h:
~ now correctly determines that VC++ 9 requires STLSOFT_CF_FUNCTION_SIGNATURE_FULL_ARG_QUALIFICATION_REQUIRED
~ stlsoft/stlsoft.h:
~ speculatively supports Intel C/C++ 11.0
WinSTL:
-------
~ winstl/shims/conversion/to_SYSTEMTIME/DATE.hpp:
~ fixed defect - initialising unknown name - in non-exception mode
============================================================================
Changes for 1.9.61 (19th November 2008)
Summary:
========
* better compatibility with SAPI.h for COMSTL's sapi_util.hpp
* documentation markup improvements for a number of files
Changes:
========
STLSoft:
--------
~ stlsoft/iterators/filter_iterator.hpp:
~ fixed up incorrect fwd-include guards
~ stlsoft/string/shim_string.hpp:
~ fixed up incorrect fwd-include guards
~ stlsoft/string/split_functions.hpp:
- removed unnecessary iterator declaration
~ improved documentation markup
COMSTL:
-------
~ comstl/speech/sapi_util.hpp:
~ compatibility with sapi.h
MFCSTL:
-------
~ mfcstl/shims/attribute/get_synch_handle.hpp:
~ documentation markup improvements
============================================================================
Changes for 1.9.60 (27th October 2008)
Summary:
========
* added stlsoft::apply_const()
* added stlsoft/conversion/m2w.hpp
Changes:
========
STLSoft:
--------
~ stlsoft/stlsoft.h:
+ added stlsoft::apply_const()
+ stlsoft/conversion/m2w.hpp:
provides access to stlsoft::m2w converter class
============================================================================
Changes for 1.9.59 (25th October 2008)
Summary:
========
* change in ATLSTL's property method helpers to avoid infinite loop in
Visual C++ 6 problem when implementing property puts to CComBSTR
* fixed compile error with GCC when using VARIANTs in C compilation units
Changes:
========
ATLSTL:
-------
~ atlsoft/automation/property_method_helpers.hpp:
~ fixed infinite loop defect in put_MemberValue(..., CComVariant const&, ...);
now assigns directly and handles case whereby assignment fail
COMSTL:
-------
~ comstl/comstl.h:
~ refactored way in which VARIANT-manipulation macros are defined for C
compilation to fix compile errors with GCC
============================================================================
Changes for 1.9.58 (16th October 2008)
Summary:
========
* fixed major defect introduced in 1.9.52 to WinSTL's time string access
shims
* fixed minor defects in COMSTL's VARIANT string access shims
* fixed defect in documentation generation whereby examples were omitted
* reduced compilation dependencies in STLSoft's time string access shims
Changes:
========
Documentation:
--------------
~ fixed defect in documentation generation whereby examples were omitted
STLSoft:
--------
~ stlsoft/shims/access/string/time.hpp:
~ reduced include dependencies
COMSTL:
-------
~ comstl/shims/access/string/variant.hpp:
~ passed VARIANT_ALPHABOOL to all variant conversion routines
~ fixed defect whereby widestring and multibyte string lengths were
assumed to be equal (by c_str_len_w() and c_str_len_a() being
implemented in terms of c_str_len())
WinSTL:
-------
~ winstl/shims/access/string/time.hpp:
~ fixed defect whereby last character of converted date is truncated
~ reduced include dependencies
============================================================================
Changes for 1.9.57 (10th October 2008)
Summary:
========
* addition of missing const_reference member type in various Windows
controls collection classes
* C / C++ compatibility fixes for COMSTL
* fix of minor non-standard name in winstl::int_to_string() supporting
class
* a large number of files were altered in minor ways, to do with whitespace
and the placement of * and & symbols
* several files' documentation markup was cleaned up
Changes:
========
*:
--
~ a large number of files were altered in minor ways, to do with whitespace
and the placement of * and & symbols
~ several files' documentation markup was cleaned up
COMSTL:
-------
~ comstl/comstl.h:
+ added the macros COMSTL_ACCESS_VARIANT_MEM_BYPTR(),
COMSTL_ACCESS_VARIANT_MEM_BYREF(), COMSTL_ACCESS_VARIANT_vt_BYPTR(),
COMSTL_ACCESS_VARIANT_vt_BYREF(),
COMSTL_ACCESS_VARIANT_decVal_BYPTR(), and
COMSTL_ACCESS_VARIANT_decVal_BYREF(), which abstract the access of
VARIANT members between C (incl. Standard C) and C++
~ comstl/util/DECIMAL_functions.h:
~ comstl/util/VARIANT_functions.h:
~ compatibility with Standard-C compilation (where anonymous unions and
structures are not valid)
WinSTL:
-------
~ winstl/conversion/int_to_string.hpp:
~ rename of non-standard symbol
~ winstl/controls/combobox_sequence.hpp:
~ winstl/controls/edit_line_sequence.hpp:
~ winstl/controls/listbox_data_sequence.hpp:
~ winstl/controls/listbox_sequence.hpp:
+ added const_reference member type
============================================================================
Changes for 1.9.56 (1st October 2008)
Summary:
========
* a large number of minor enhancements to the documentation markup
* fixes to defects to include guards in UNIXSTL
Changes:
========
*:
--
~ a large number of minor enhancements to the documentation markup
UNIXSTL:
--------
~ unixstl/filesystem/memory_mapped_file.hpp:
~ unixstl/performance/performance_counter.hpp:
~ unixstl/performance/performance_counter.hpp:
~ unixstl/performance/processtimes_counter.hpp:
~ unixstl/performance/processtimes_counter.hpp:
~ tidied up includes for UNIX emulation on Win32
~ fixed defect in forward-include guards for sys/mman.h, sys/resource.h
and sys/time.h
~ unixstl/synch/sleep_functions.h:
~ tidied up includes for UNIX emulation on Win32
============================================================================
Changes for 1.9.55 (27th September 2008)
Summary:
========
* corrected defects in stlsoft::wide2multibyte and stlsoft::multibyte2wide
conversion classes
* fixes to various x64 defects related to use of inappropriate calling
convention specifiers with use of dl_call
* sundry other modifications in internal pre-processor facilities and
small improvements to Watcom compatibility
Changes:
========
STLSoft:
--------
~ stlsoft/stlsoft.h:
+ added internal pre-processor facilities
~ winstl/conversion/char_conversions.hpp
~ corrected defective effective size() method (inherited from parent)
of multibyte2wide and wide2multibyte class templates, by hiding parent
and defining in-class version of method
~ stlsoft/stlsoft.h:
~ some Watcom compatibility
WinSTL:
-------
~ winstl/dl/dl_call.hpp:
~ winstl/system/pid_sequence.hpp:
~ winstl/system/process_module_sequence.hpp:
~ ensuring x64 compatibility with use of dl_call
~ winstl/filesystem/memory_mapped_file.hpp:
~ some Watcom compatibility
~ winstl/registry/reg_value.hpp:
~ winstl/registry/util/shared_handles.hpp:
~ fixes to x64 defects (contributed by Austin Ziegler)
============================================================================
Changes for 1.9.54 (15th September 2008)
Summary:
========
* added stlsoft::exception_string::truncate() method
* removed dependency of UDATE for to_FILETIME() and to_SYSTEMTIME() shim
overloads for DATE type
Changes:
========
STLSoft:
--------
~ stlsoft/util/exception_string.hpp:
+ added truncate() method
WinSTL:
-------
~ winstl/shims/conversion/to_FILETIME.hpp:
~ winstl/shims/conversion/to_FILETIME/DATE.hpp:
~ removed dependency of to_FILETIME(DATE const&) on UDATE
~ winstl/shims/conversion/to_SYSTEMTIME.hpp:
~ winstl/shims/conversion/to_SYSTEMTIME/DATE.hpp:
~ removed dependency of to_SYSTEMTIME(DATE const&) on UDATE
============================================================================
Changes for 1.9.53 (14th September 2008)
Summary:
========
* changed definition of STLSOFT_STATIC_ASSERT() to work with GCC
* defect defect in pre-condition enforcement of
winstl::system_traits::expand_environment_strings()
Changes:
========
STLSoft:
--------
~ stlsoft/stlsoft.h:
~ changed definition of STLSOFT_STATIC_CAST() for GCC, since GCC allows
an array dimension of -1
WinSTL:
-------
~ winstl/system/system_traits.hpp:
~ fixed defective pre-condition enforcement of
expand_environment_strings()
============================================================================
Changes for 1.9.52 (11th September 2008)
Summary:
========
* fix for warnings in 64-bit compilation (VC9) in WinSTL string access
shims for SYSTEMTIME; also added extra safeguard against external race
condition
Changes:
========
WinSTL:
-------
~ winstl/shims/access/string/time.hpp
~ fixed up 64-bit compiler warnings, by applying suitable
unsigned->signed casts
+ added in safeguard for unlikely case of changing date/time pictures
mid call
============================================================================
Changes for 1.9.51 (7th September 2008)
Summary:
========
* workaround for defective exception-throwing behaviour of
stlsoft::conversion_error with VC6
* fixed defect in WinSTL string access shims for SYSTEMTIME that faults
when asked to process an invalid time value
Changes:
========
STLSoft:
--------
~ stlsoft/error/conversion_error.hpp
~ fixed defect whereby the VC++ 6 compiler that causes the throwing of
any derived class to cause an ICE
WinSTL:
-------
~ winstl/shims/access/string/time.hpp
~ fixed defect whereby failure to convert, due to invalid date, results
in fault in shim string
============================================================================
Changes for 1.9.50 (3rd September 2008)
Summary:
========
* added stlsoft character conversion typedefs m2w, w2m, t2m, m2t
* fix for VC++ 6 defect in requiring return code after exception throw
Changes:
========
STLSoft:
-------
~ stlsoft/conversion/char_conversions.hpp:
+ added typedefs m2w, w2m, t2m, m2t
+ stlsoft/conversion/w2m.hpp
* includes stlsoft/conversion/char_conversions.hpp
============================================================================
Changes for 1.9.49 (2nd September 2008)
Summary:
========
* fix for DMC++ defect in winstl::reg_value function template definition
* added winstl character conversion typedefs m2w, w2m, t2m, m2t
Changes:
========
WinSTL:
-------
~ winstl/conversion/char_conversions.hpp:
+ added typedefs m2w, w2m, t2m, m2t
+ winstl/conversion/w2m.hpp
* includes winstl/conversion/char_conversions.hpp
~ winstl/registry/reg_key.hpp:
~ fix for DMC++ defect in winstl::reg_value function template
definition
============================================================================
Changes for 1.9.48 (23rd August 2008)
Summary:
========
* added comstl/util/CY_functions.h
* added comstl/util/DECIMAL_functions.h
* added comstl/util/VARIANT_functions.h
* added comstl::variant conversion constructor for DECIMAL
* fixed bug in stlsoft::trim_all()
* added winstl::basic_error_desc<>::empty()
Changes:
========
STLSoft:
--------
~ stlsoft/containers/frequency_map.hpp
+ addition of bool_type member type
~ stlsoft/containers/unsorted_map.hpp
+ addition of class_type member type
~ stlsoft/string/shim_string.hpp
~ increased internal memory buffer of basic_shim_string by 1, so
that users do not need to specify a number inclusive of the
terminating nul character
~ stlsoft/string/trim_functions.hpp
~ fixed bug in trim_all() whereby the right iterator could be before the
left
COMSTL:
-------
~ comstl/util/variant.hpp
+ added conversion constructor for DECIMAL
+ implemented equal()
+ comstl/util/CY_functions.h
+ CY_compare()
+ comstl/util/DECIMAL_functions.h
+ DECIMAL_compare()
+ comstl/util/VARIANT_functions.h
+ VARIANT_equal()
WinSTL:
-------
~ winstl/error/error_desc.hpp
+ added bool_type member type
+ added empty() method
============================================================================
Changes for 1.9.47 (12th August 2008)
Summary:
========
* enhancement of stlsoft::read_line() function template to work with
various line-termination sequences
* enhancement of fixed array classes to allow zero size
* winstl::clipboard_format_sequence enhancements to iterator type profile
* winstl::clipboard_scope defect fix and documentation enhancement
* syntactic modification of contract enforcement statements to a large
number of components to address warnings with GCC 4.3 in pedantic mode
Changes:
========
STLSoft:
--------
~ stlsoft/containers/fixed_array.hpp
- fixed array classes now can be of zero size
- GCC 4.3 pedantic warnings
~ stlsoft/containers/static_array.hpp - GCC 4.3 pedantic warnings
~ stlsoft/conversion/union_cast.hpp - GCC 4.3 pedantic warnings
~ rewrote stlsoft::read_line(), which can now use any combination of the
line termination sequences CR, LF and CR+LF. stlsoft::read_line() is now
found in stlsoft/filesystem/read_line.hpp
~ stlsoft/filesystem/io_functions.hpp now includes stlsoft/filesystem/read_line.hpp
~ stlsoft/string/char_traits.hpp - GCC 4.3 pedantic warnings
ACESTL:
-------
~ acestl/collections/message_queue_sequence.hpp - GCC 4.3 pedantic warnings
~ acestl/reactor/custom_event_handler.hpp - GCC 4.3 pedantic warnings
COMSTL:
-------
~ comstl/collections/enumerator_sequence.hpp - GCC 4.3 pedantic warnings
~ comstl/string/bstr.hpp - GCC 4.3 pedantic warnings
InetSTL:
--------
~ inetstl/filesystem/findfile_sequence.hpp - GCC 4.3 pedantic warnings
MFCSTL:
-------
~ mfcstl/collections/clist_adaptors.hpp - GCC 4.3 pedantic warnings
RangeLib:
---------
~ rangelib/integral_range.hpp - GCC 4.3 pedantic warnings
WinSTL:
-------
~ winstl::clipboard_format_sequence::const_iterator now properly defined
according to rules outlined in Extended STL, vol 1
(winstl/clipboard/clipboard_format_sequence.hpp)
~ winstl::clipboard_scope defect in deallocation function fixed, and
documentation markup improved to make clear the full semantics
~ winstl/controls/listbox_const_iterator.hpp - GCC 4.3 pedantic warnings
~ winstl/controls/listbox_data_const_iterator.hpp - GCC 4.3 pedantic warnings
~ winstl/filesystem/findfile_sequence.hpp - GCC 4.3 pedantic warnings
~ winstl/filesystem/findvolume_sequence.hpp - GCC 4.3 pedantic warnings
~ winstl/security/acl_sequence.hpp - GCC 4.3 pedantic warnings
~ winstl/shell/drophandle_sequence.hpp - GCC 4.3 pedantic warnings
~ winstl/toolhelp/sequence_base.hpp - GCC 4.3 pedantic warnings
~ winstl/window/zorder_iterator.hpp - GCC 4.3 pedantic warnings
============================================================================
Changes for 1.9.46 (11th August 2008)
Summary:
========
* defect fixes to stlsoft::pod_vector
* reduced coupling, and increased functionality, of stlsoft::format_bytes()
* sundry compatibility improvements
Changes:
========
STLSoft:
--------
~ stlsoft::file_lines() changed slightly to ensure correct behaviour on
Windows platforms when emulating UNIX
~ stlsoft::std_fill_n() now eschews use of std::fill_n() when used with
Microsoft's Safe String library
~ stlsoft::pod_vector<> defects fixed:
~ fix for assert in copy-ctor when copying empty object
~ fix for failure to write value_type() into 1-parameter resize()
~ fixed defect in resize() when moving from 0 != size() to 0 == size()
~ fixed defect in range insert
~ fixed defect in erase()
~ renamed internal type buffer_type to buffer_type_
~ stlsoft::format_bytes() rewritten to use custom hex formatting
instead of stdio formatting functions
WinSTL:
-------
+ winstl__FormatMessageA/W__buff_inst() altered for 64-bit compatibility
============================================================================
Changes for 1.9.45 (8th June 2008)
Summary:
========
* enhancement to stlsoft::to_uint64 conversion shim for ULARGE_INTEGER
* more Win-64 compatibility changes
* fixes to winstl::basic_path class template
Changes:
========
InetSTL:
--------
~ inetstl/filesystem/filesystem_traits.hpp - 64-bit compatibility
WinSTL:
-------
+ winstl/shims/conversion/to_uint64/ULARGE_INTEGER.hpp - added overloads
for ULARGE_INTEGER to stlsoft::to_uint64 conversion shim
~ winstl/filesystem/filesystem_traits.hpp - get_full_path_name() sets last
error to ERROR_FILENAME_EXCED_RANGE when path is too long for
GetFullPathNameA() (since that does not set it)
~ winstl/filesystem/path.hpp -
~ fix to push() to ensure that ambient slash flavour is used
~ make_absolute() now throws an exception if get_full_path_name() does
not succeed
~ fix to canonicalise() for empty paths
~ fix to canonicalise() for paths that contain drive and top-slash
only
============================================================================
Changes for 1.9.44 (1st June 2008)
Summary:
========
* bug fix in winstl/shims/access/string/LSA_UNICODE_STRING.hpp, required
for newly released flecxx library
Changes:
========
WinSTL:
-------
~ winstl/shims/access/string/LSA_UNICODE_STRING.hpp - removed trailing
slash in two of the shim functions
============================================================================
Changes for 1.9.43 (31st May 2008)
Summary:
========
* more Win64-compatibility modifications
* more Safe String library modifications
* expanded the stlsoft::get_FILE_ptr attribute shim for MFC's CStdioFile
Changes:
========
STLSoft:
--------
~ stlsoft/conversion/char_conversions.hpp - Safe String compatibility
~ stlsoft/string/trim_functions.hpp - Safe String compatibility, and
removal of dependency on soon-to-be-obselete STLSoft standard emulation
functions (as they'll be handed off to the soon-to-be-released
flecxx library; see http://flecxx.org/)
~ stlsoft/util/constraints.hpp - elimination of warnings for some highly
pedantic compiler modes
COMSTL:
-------
~ comstl/collections/enumerator_sequence.hpp - Win64 compatibility
~ comstl/string/bstr.hpp - Win64 compatibility
MFCSTL:
-------
+ mfcstl/shims/attribute/get_FILE_ptr.hpp
WinSTL:
-------
~ winstl/clipboard/clipboard_scope.hpp - tightening up of exception
handling code
============================================================================
Changes for 1.9.42 (13th May 2008)
Summary:
========
* more Win64-compatibility modifications
* more Safe String library modifications
Changes:
========
COMSTL:
-------
~ comstl/string/olestring_functions.h - Safe String library compatibility
modifications, using wcscpy_s() instead of wcscpy()
InetSTL:
--------
~ inetstl/filesystem/findfile_sequence.hpp - minor warning suppression
WinSTL:
-------
~ winstl/window/functions.h - rewrote GetWindowLong()/SetWindowLong() use
to common functions winstl__get_window_sptrint_() and
winstl__set_window_sptrint_()
============================================================================
Changes for 1.9.41 (13th May 2008)
Summary:
========
* bug fix for GCC compilation on PowerPC that was broken with 1.9.40
============================================================================
Changes for 1.9.40 (13th May 2008)
Summary:
========
* significant refactoring of compiler-capability discrimination for GCC and
VC++
* compatibility fixes for SunPro compilers
* bug fix in integral_printf_traits (introduced in 1.9.39)
Changes:
========
STLSoft:
--------
~ include/stlsoft/internal/cccap/gcc.h: significant refactoring
~ include/stlsoft/internal/cccap/msvc.h: significant refactoring
+ include/stlsoft/internal/cccap/obsolete.h: defines old symbols in terms
of new; to be #included by all refactored compiler capability
discrimination files while rest of codebase is not up to date
~ stlsoft/string/split_functions.hpp: now defines
STLSOFT_STRING_SPLIT_FUNCTIONS_CANNOT_USE_STATIC_ARRAY when using SunPro
~ stlsoft/util/integral_printf_traits.hpp: fixed bug in 64-bit
specialisations that was introduced in 1.9.39
============================================================================
Changes for 1.9.39 (11th May 2008)
Summary:
========
* another tranche of changes for Win64 support
Changes:
========
STLSoft:
--------
+ added STLSOFT_WARN_64, to apply to variables whose sizes will be
different between Win32 and Win64, to elicit warnings from VC++
(stlsoft/stlsoft.h)
~ stlsoft::truncation_test: suppression of 4267 warning in VC++ for the
final conversion, since it's already been determined by the test that
the conversion is valid
(stlsoft/conversion/truncation_test.hpp)
WinSTL:
-------
~ adjustment of winstl::BOOL2bool() for -Wp64 compilation
(winstl/winstl.h)
~ Windows Registry Library: change of result type from ws_long_t to LONG,
to avoid unnecessary conversions and Win32/64 warnings
(winstl/registry/reg_traits.hpp)
~ winstl::system_traits<>::get_locale_info(): change of cchData param from
int_type to int to avoid unnecessary conversions and Win32/64 warnings
(winstl/system/system_traits.hpp)
~ Windows Window Library: wholesale change from use of ws_long_t to
ws_sptrint_t to ensure that the window style functions are 32 and 64-bit
compatible
(winstl/window/functions.h)
~ winstl::set_window_icon(): suppression of 4267 warning in VC++ for what
appears to be a compiler bug in interpretation of the conversion to
LPARAM in this function
(winstl/window/functions.h)
============================================================================
Changes for 1.9.38 (4th May 2008)
Summary:
========
* another tranche of changes for Win64 support
Changes:
========
STLSoft:
--------
PlatformSTL:
------------
+ discrimination of PLATFORMSTL_ARCH_IS_**** symbols:
PLATFORMSTL_ARCH_IS_X86
PLATFORMSTL_ARCH_IS_IA64
PLATFORMSTL_ARCH_IS_X64
PLATFORMSTL_ARCH_IS_INTEL
PLATFORMSTL_ARCH_IS_POWERPC
PLATFORMSTL_ARCH_IS_ALPHA
PLATFORMSTL_ARCH_IS_HPPA
PLATFORMSTL_ARCH_IS_SPARC
============================================================================
Changes for 1.9.37 (3rd May 2008)
Summary:
========
* first tranche of changes for Win64 support
Changes:
========
STLSoft:
--------
COMSTL:
-------
+ cs_sptrint_t and cs_uptrint_t integer types that are the same size as
the pointers of the ambient architecture
PlatformSTL:
------------
~ platformstl/synch/atomic_functions.h now discriminates on
PLATFORMSTL_OS_IS_WINDOWS instead of PLATFORMSTL_OS_IS_WINDOWS
~ platformstl/synch/atomic_functions.h now discriminates on
WINSTL_ARCH_IS_X86, WINSTL_ARCH_IS_IA64 and WINSTL_ARCH_IS_X64 instead
of _M_IX86, _M_IA64 and _M_X64
UNIXSTL:
--------
+ added UNIXSTL_ARCH_IS_X86, UNIXSTL_ARCH_IS_IA64 and UNIXSTL_ARCH_IS_X64
architecture discrimination symbols
WinSTL:
-------
+ added WINSTL_OS_IS_WIN32 and WINSTL_OS_IS_WIN64 operating system
discrimination symbols
+ added WINSTL_ARCH_IS_X86, WINSTL_ARCH_IS_IA64 and WINSTL_ARCH_IS_X64
architecture discrimination symbols
~ winstl/synch/atomic_functions.h refactored to use new symbols
~ winstl/filesystem/filesystem_traits.hpp refactored to use new symbols
~ winstl/system/system_traits.hpp refactored to use new symbols
============================================================================
Changes for 1.9.36 (30th April 2008)
Summary:
========
* added support for FreeBSD operating system
Changes:
========
STLSoft:
--------
+ added support for FreeBSD operating system
============================================================================
Changes for 1.9.35 (29th April 2008)
Summary:
========
* added value_multi_sz() to winstl::reg_value
Changes:
========
WinSTL:
-------
+ added value_multi_sz() to winstl::reg_value
~ refactored exception handling in basic_reg_key::reg_class() to avoid
spurious compiler warnings about unreachable branches
============================================================================
Changes for 1.9.34 (25th April 2008)
Summary:
========
* renamed winstl::get_hwnd attribute shim to winstl::get_HWND
* minor adjustments to Sun Pro support
* library feature discrimination symbol cleanup
* refactored error/exception handling in Windows Registry library
Changes:
========
*:
--
- STLSOFT_CF_BIDIRECTIONAL_ITERATOR_SUPPORT changed to
STLSOFT_LF_BIDIRECTIONAL_ITERATOR_SUPPORT in all files
~ renamed all get_hwnd() attribute shims to get_HWND()
STLSoft:
--------
~ include/stlsoft/internal/cccap/sunpro.h: adjustments to detect _BOOL
and _WCHAR_T for the bool and wchar_t types support
~ include/stlsoft/internal/cccap/sunpro.h: adjustment to integral size
detection: now simply searches for _LP64 or __LP64__ for LP64, otherwise
assumes int & long are 4-bytes
~ include/stlsoft/internal/cccap/sunpro.h: fix to known bug in Sun Pro C++
library headers - <cwchar> is introduced to ensure it is included before
<stdio.h>
~ stlsoft::auto_buffer::allocate_() 1-param overload implemented in terms
of the 2-param version
COMSTL:
-------
~ fix to comstl::co_create_instance(), to directly assign between
ref_ptr instances via set(), rather than copy constructors
WinSTL:
-------
+ winstl::key_not_duplicated_exception exception class to Windows Registry
library
~ error/exception handling for all the following classes in the Windows
Registry library was refactored and ensured to be comprehensive:
* winstl::basic_reg_key
* winstl::basic_reg_key_sequence
* winstl::basic_reg_value
* winstl::basic_reg_value_sequence
============================================================================
Changes for 1.9.33 (25th April 2008)
Summary:
========
* added support for the SunPro C and C++ compilers
* various mods to ensure headers are self-contained when used with
Windows "lean and mean" suppression symbols
Changes:
========
STLSoft:
--------
~ STLSOFT_STRINGIZE_w_() now defined in terms of STLSOFT_STRINGIZE_a()
for Sun Pro C and Borland
+ Sun Pro C and Sun Pro C++ compatibility
~ stlsoft::fixed_array_?d::swap() methods now implemented in terms of
new private get_allocator_() method
- STLSOFT_CF_BIDIRECTIONAL_ITERATOR_SUPPORT removed from all the compiler
capability files
~ stlsoft::member_selector_iterator.hpp now compatible with Sun Pro C++
when used in the -library=libCstd
~ stlsoft/memory/allocator_features.hpp now compatible with Sun Pro C++
when used in the -library=libCstd
~ stlsoft/memory/auto_buffer.hpp now compatible with Sun Pro C++
when used in the -library=libCstd
~ stlsoft/shims/access/string/std/c_string.h now compatible with Sun Pro C++
~ stlsoft/string/simple_string.hpp now compatible with Sun Pro C++
~ stlsoft/util/integral_printf_traits.hpp now compatible with Sun Pro C++
~ correction to definition of stlsoft::integral_printf_traits<ss_uint8_t>
~ stlsoft/util/std/iterator_helper.hpp now compatible with Sun Pro C++
~ stlsoft/util/std/library_discriminator.hpp now compatible with Sun Pro C++
COMSTL:
-------
+ comstl::enumerator_sequence<>::quanta()
+ comstl/error/errorinfo_functions.h includes oaidl.h and oleauto.h
+ comstl/internal/interface_traits_std.hpp includes oaidl.h
+ comstl/util/initialisers.hpp includes ole2.h
UNIXSTL:
--------
~ unixstl/unixstl.h now compatible with Sun Pro C++
WinSTL:
-------
~ correction to return type of winstl__combobox_getitemdata()
~ correction to return type of winstl__listbox_getitemdata()
~ renamed listbox_operation_traits to listbox_data_sequence_traits (in
winstl/controls/listbox_data_sequence.hpp)
~ renamed listbox_operation_traits to listbox_sequence_traits (in
winstl/controls/listbox_sequence.hpp)
~ made winstl/error/exceptions.hpp self-contained when used with
Windows "lean and mean" suppression symbols
~ marked winstl/shims/access/string/lsa_unicode_string.hpp as not for
unit-test (since the unit-test programs do not #include <ntsecapi.h>)
============================================================================
Changes for 1.9.32 (22nd April 2008)
Summary:
========
* fix for VC++ 8/9 linker error in the allocator_selector
* refactoring of string access shim headers for lightweight compilation
Changes:
========
STLSoft:
--------
~ fix for VC++ 8/9 linker error in the allocator_selector
WinSTL:
-------
~ refactoring of string access shim headers in light of Windows
"lean and mean" disabling symbols (e.g. NOUSER, NOWINOFFSETS)
============================================================================
Changes for 1.9.31 (13th April 2008)
Summary:
========
* exception hierarchy refactoring
* bug fix to stlsoft::must_init
Changes:
========
STLSoft:
--------
+ new STLSoft-root exception: stlsoft::project_exception
~ exception hierarchy refactoring
~ fixes to stlsoft::must_init for built-in types to support assignment
COMSTL:
-------
~ exception hierarchy refactoring
UNIXSTL:
--------
~ exception hierarchy refactoring
WinSTL:
-------
~ exception hierarchy refactoring
============================================================================
Changes for 1.9.30 (3rd March 2008)
Summary:
========
* tidying of distribution
============================================================================
Changes for 1.9.29 (3rd March 2008)
Summary:
========
* more preparation for safe string library compatibility
Changes:
========
UNIXSTL:
--------
~ more preparation for safe string library compatibility
WinSTL:
-------
~ more preparation for safe string library compatibility
============================================================================
Changes for 1.9.28 (24th March 2008)
Summary:
========
* enhancement to winstl::reg_key class
* preparation for safe string library compatibility
* bug fix for C-compilation in winstl/controls/functions.h
Changes:
========
STLSoft:
--------
+ stlsoft/internal/safestr.h
UNIXSTL:
--------
~ preparation for safe string library compatibility
WinSTL:
-------
~ preparation for safe string library compatibility
~ correction to winstl/controls/functions.h
~ improved error handling in winstl::reg_key
+ winstl::reg_key new methods: has_sub_key() and has_value()
~ winstl::reg_traits now inherits from winstl::system_traits
~ winstl::window_traits now inherits from winstl::system_traits
============================================================================
Changes for 1.9.27 (17th March 2008)
Summary:
========
* support for Visual C++ 9 (Visual C++ 2008)
* fixed pre-processor typo that breaks GCC -pedantic
* added item-data functions for list-/combo-boxes
Changes:
========
STLSoft:
--------
+ added support for Visual C++ 9.0 (Visual C++ 2008)
UNIXSTL:
--------
~ fix for pre-processor typo in unixstl::filesystem_traits, which is
breaking -pendantic GCC compilation
WinSTL:
-------
+ added item-data functions for list-/combo-boxes: listbox_getitemdata()
and combobox_getitemdata()
============================================================================
Changes for 1.9.26 (15th March 2008)
Summary:
========
* definition, where appropriate, of STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT,
denoting that a particular compiler supports the __FUNCTION__
pre-processor symbol
Changes:
========
STLSoft:
--------
~ stlsoft/internal/cccap/borland.h
~ stlsoft/internal/cccap/como.h
~ stlsoft/internal/cccap/dmc.h
~ stlsoft/internal/cccap/gcc.h
~ stlsoft/internal/cccap/intel.h
~ stlsoft/internal/cccap/msvc.h
~ stlsoft/internal/cccap/mwerks.h
~ stlsoft/internal/cccap/unknown.h
~ stlsoft/internal/cccap/vectorc.h
~ stlsoft/internal/cccap/watcom.h
============================================================================
Changes for 1.9.25 (9th March 2008)
Summary:
========
* wholesale increase of use of forward include guards, to reduce
compilation times
Changes:
========
< too many to list >
============================================================================
Changes for 1.9.24 (8th March 2008)
Summary:
========
* finishing up some missed std::swap refactoring
Changes:
========
STLSoft:
--------
~ stlsoft/collections/array_view.hpp now uses std_swap
~ stlsoft/string/string_view.hpp now uses std_swap
UNIXSTL:
--------
~ unixstl/filesystem/glob_sequence.hpp now uses std_swap
WinSTL:
-------
~ unixstl/filesystem/path.hpp now uses std_swap
============================================================================
Changes for 1.9.23 (20th February 2008)
Summary:
========
* fix for minor compiler compatibility issue
Changes:
========
STLSoft:
--------
~ STLSOFT_CF_EXCEPTION_SUPPORT was being defined for Metrowerks CodeWarrior
in C compilation units. This is now corrected
============================================================================
Changes for 1.9.22 (8th February 2008)
Summary:
========
* refactored unixstl/synch/util/features.h
Changes:
========
UNIXSTL:
--------
~ adjusted the PThreads discrimination in unixstl/synch/util/features.h to
not be affected by the inclusion of pthread.h (which seems to be included
by <string> on UNIX with GCC !?)
WinSTL:
-------
~ minor warning suppression in winstl/filesystem/memory_mapped_file.hpp
~ minor warning-avoidance refactoring in
winstl/system/console_colour_scope.hpp
============================================================================
Changes for 1.9.21 (5th February 2008)
Summary:
========
* fixed a bug in platformstl/synch/util/features.h
Changes:
========
~ platformstl/synch/util/features.h was erroneously #including
unixstl/synch/sleep_functions.h,
rather than
unixstl/synch/util/features.h
============================================================================
Changes for 1.9.20 (3rd February 2008)
Summary:
========
* added new stlsoft::singlethreaded_tss_index synchronisation utility class
Changes:
========
STLSoft:
--------
+ new stlsoft::singlethreaded_tss_index class
(stlsoft/synch/singlethreaded_tss_index.hpp), which is
interface-compatible with unixstl::tss_index and winstl::tss_index, for
single-threaded contexts.
============================================================================
Changes for 1.9.19 (2nd February 2008)
Summary:
========
* enhancement of SAPI utility header for COMSTL
Changes:
========
COMSTL:
--------
~ comstl/speech/sapi_util.hpp now introduces the SPEAKFLAGS enumerators
into the global namespace, to be compatible with the SAPI headers.
============================================================================
Changes for 1.9.18 (27th January 2008)
Summary:
========
* enhancement of STLSoft's integral_printf_trait component to support
Pantheios 1.0.1 beta 91
* release of SAPI utility header for COMSTL
Additions:
==========
STLSoft:
--------
+ added hex_format_a/w() methods to integral_printf_traits
COMSTL:
--------
+ comstl/speech/sapi_util.hpp, which abstracts away the definitions of the
SAPI interfaces and constants, for those compilers that do not have the
headers supplied.
============================================================================
Changes for 1.9.17 (5th January 2008)
Summary:
========
* bug fix for UNIXSTL on Leopard/GCC 4.0.1
Fixes:
======
UNIXSTL:
--------
~ Fixed new incompatibility in the definition of UNIXSTL_ASSERT for the
Mac OS-X platform, evinced with Leopard and GCC 4.0.1
============================================================================
Changes for 1.9.16 (29th December 2007)
Summary:
========
* bug fix in stlsoft::printf_traits
* bug fix in winstl::GetTimeFormat_msA/W
* other minor bug fixes
* minor feature enhancements & refactoring
Additions:
==========
STLSoft:
--------
+ new stlsoft::integral_printf_traits traits class, which fixes the bug
in stlsoft::printf_traits whereby integers used the %ld and %lu
+ now uses new symbols _STLSOFT_SIZEOF_CHAR, _STLSOFT_SIZEOF_SHORT,
_STLSOFT_SIZEOF_INT, _STLSOFT_SIZEOF_LONG and _STLSOFT_SIZEOF_LONG_LONG
PlatformSTL:
------------
+ added symbol PLATFORMSTL_OS_IS_WIN64
+ added symbol PLATFORMSTL_OS_IS_WINDOWS
Fixes:
======
STLSoft:
--------
~ refactoring of stlsoft::auto_destructor::get mutating/non-mutating
overloads
~ refactoring of stlsoft::auto_array_destructor::get mutating/non-mutating
overloads
~ refactoring of stlsoft::proxy_ptr::get mutating/non-mutating
overloads
~ refactoring of stlsoft::ref_ptr::get mutating/non-mutating
overloads
~ refactoring of stlsoft::shared_ptr::get mutating/non-mutating
overloads
COMSTL:
-------
~ refactoring of comstl::interface_ptr::get mutating/non-mutating overloads
PlatformSTL:
------------
~ platformstl/synch/tss_index.hpp now properly includes the tss_exception
symbol into the platformstl namespace
WinSTL:
-------
~ bug fix to winstl::GetTimeFormat_msA/W, whereby 24hr format was always
used, regardless of the locale settings
============================================================================
Changes for 1.9.15 (24th December 2007)
Summary:
========
* minor bug fix for C compilation
Fixes:
======
STLSoft:
--------
~ previous versions of STLSoft defined STLSOFT_CF_EXCEPTION_SUPPORT and
STLSOFT_CF_RTTI_SUPPORT for some compilers in C compilation, notably GCC.
This was causing problems with the (soon-to-be-released) xTests and
flecxx libraries, and is now fixed.
============================================================================
Changes for 1.9.14 (23rd December 2007)
Summary:
========
* updated stlsoft version (_STLSOFT_VER) missing in 1.9.13
============================================================================
Changes for 1.9.13 (20th December 2007)
Summary:
========
* features enhancements to fixed array classes
Additions:
==========
STLSoft:
--------
+ stlsoft::fixed_array_?d::get_allocator() method for all 4 classes
+ stlsoft::fixed_array_?d::fixed_array_?d() overloads taking allocator
============================================================================
Changes for 1.9.12 (19th December 2007)
Summary:
========
* features enhancements to fixed array classes
Additions:
==========
STLSoft:
--------
+ stlsoft::fixed_array_?d::data() (mutating form) methods for all 4 classes
+ stlsoft::fixed_array_?d::swap() methods for all 4 classes
Fixes:
======
STLSoft:
--------
~ fix to stlsoft::stl_collection_tag, to derive it from
stlsoft::collection_tag
============================================================================
Changes for 1.9.11 (17th December 2007)
Summary:
========
* minor modifications and bug-fixes
Changes:
========
STLSoft:
--------
+ discrimination of RTTI support, in the form of the symbol
STLSOFT_CF_RTTI_SUPPORT, which will be defined when support is enabled.
This is required for the new xTests project (which will be released in
January 2008)
+ stlsoft::cmdargs class has significant breaking changes:
+ added has_option() method
+ added has_value() method
~ removed m_ from public fields of cmdargs::option class
~ removed m_ from public fields of cmdargs::value class
~ renamed m_value member of cmdargs::value to name
~ stlsoft::must_init has had numerous fixes
~ fixed bug, that manifests in widestring compilation, in
stlsoft/filesystem/searchspec_sequence.hpp
============================================================================
Changes for 1.9.10 (10th December 2007)
Summary:
========
* bug fix for recls (http://recls.org/)
* minor feature enhancements
Changes:
========
STLSoft:
--------
+ basic_static_string::pop_back()
~ fixed bug, that manifests in widestring compilation, in
stlsoft/filesystem/searchspec_sequence.hpp
MFCSTL:
-------
+ mfcstl/mfcstl.hpp now #includes atlstr.h if _MFC_VER >= 0x0700
PlatformSTL:
------------
~ platformstl::environment_variable_traits now works on Win32 when
synthesising UNIX
============================================================================
Changes for 1.9.9 (19th November 2007)
Summary:
========
* shim fixes in UNIXSTL
Changes:
========
UNIXSTL:
-------
~ added all missing string access shims to
unixstl/filesystem/current_directory_scope.hpp
~ added all missing string access shims to
unixstl/filesystem/file_path_buffer.hpp
============================================================================
Changes for 1.9.8 (18th November 2007)
Summary:
========
* compatibility with Borland C/C++ 5.82 (Turbo C++); now supports VOLE
Changes:
========
COMSTL:
-------
~ comstl/collections/collection_sequence.hpp has a #define hack, to make
retrievalQuanta a pre-processor replacement rather than a member constant,
which avoids the erroneous compiler error with Borland C/C++ 5.82
~ comstl/collections/enumerator_sequence.hpp has a #define hack, to make
retrievalQuanta a pre-processor replacement rather than a member constant,
which avoids the erroneous compiler error with Borland C/C++ 5.82
WinSTL:
-------
~ winstl/filesystem/filesystem_traits.hpp - only uses truncation testing in
64-bit compilations
~ winstl/system/system_traits.hpp - only uses truncation testing in 64-bit
compilations
============================================================================
Changes for 1.9.7 (16th November 2007)
Additions:
==========
general:
--------
+ now supports x64 Windows 64-bit compilation (though it may not be
perfect)
+ now supports Borland Turbo C++ v5.82, though it is known not to be
perfect
STLSoft:
--------
+ the POD algorithms - stlsoft/algorithms/pod.hpp - can now be forced to
accept non-POD types. The symbols, and the algorithms they apply to, are:
_STLSOFT_POD_COPY_ALLOW_NON_POD - stlsoft::pod_copy()
_STLSOFT_POD_COPY_N_ALLOW_NON_POD - stlsoft::pod_copy_n()
_STLSOFT_POD_MOVE_ALLOW_NON_POD - stlsoft::pod_move()
_STLSOFT_POD_MOVE_N_ALLOW_NON_POD - stlsoft::pod_move_n()
_STLSOFT_POD_FILL_N_ALLOW_NON_POD - stlsoft::pod_fill_n()
This can be appropriate when, say, dealing with a struct that has
some simple constructors.
+ stlsoft::get_FILE_ptr shim
UNIXSTL:
--------
+ unixstl::memory_mapped_file now allows for specifying offset and
request size.
WinSTL:
-------
+ winstl::to_DATE conversion shim, with overloads for DATE, UDATE,
FILETIME, and SYSTEMTIME
PlatformSTL:
------------
+ platformstl::file_lines class - provides efficient representation of all
the files in a text file; defaults to using string views for all the
lines, so there's at most one copy operation from the memory-mapped file
used to perform the initial load.
Fixes:
======
general:
--------
~ introduction of ss_typename_type_ret_k pseudo-keyword, to cope with
different compilers' behaviour in the qualification of return types that
are member types in function templates
STLSoft
-------
~ fix to stlsoft::unsorted_map for Borland
~ stlsoft/conversion/truncation_cast.hpp now includes <new> rather than
<stdexcept>, which was wrong.
~ stlsoft/string/trim_functions.hpp was fixed to work correctly with both
string views and bona fide string types
COMSTL
------
+ comstl/error/error_info.hpp includes <new> not <stdexcept> for bad_alloc
~ fixed inclusion bug in comstl/error/excepinfo_functions.h
WinSTL
------
~ changes to winstl::filesystem_traits to be compatible with 64-bit
compilation
~ changes to winstl::system_traits to be compatible with 64-bit
compilation
~ winstl::basic_path has minor fix to suppress compilation warning
~ winstl::basic_reg_value_sequence has minor fix to suppress compilation
warning for exceptions/unused-variables/missing-return-values
~ preparation of change from get_hwnd() to get_HWND() shim, by changing
file names and documentation comments
~ winstl/synch/atomic_functions.h adjusted for 64-bit compilation; further
work will be required
Diffs:
======
root-dir-1: H:\3Pty\STLSoft\stlsoft-1.9.6
root-dir-2: H:\3Pty\STLSoft\stlsoft-1.9.7
Items unchanged from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 821
Items changed from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 117
Items changed (major) from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 0
Items changed (minor) from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 20
include\stlsoft\algorithms\pod.hpp 3.4.4.86 => 3.5.1.87 ; 12th March 2007 => 6th November 2007
include\stlsoft\internal\_undefs.h 2.5.1.23 => 2.6.1.24 ; 2nd August 2007 => 6th November 2007
include\stlsoft\internal\cccap\borland.h 3.12.2.70 => 3.13.1.71 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\como.h 3.11.1.58 => 3.12.1.59 ; 4th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\dmc.h 3.13.2.83 => 3.14.1.84 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\gcc.h 3.12.2.66 => 3.13.1.67 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\intel.h 3.13.2.69 => 3.14.1.70 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\mwerks.h 3.12.2.62 => 3.13.1.63 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\unknown.h 3.11.1.56 => 3.12.1.57 ; 4th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\vectorc.h 3.12.2.50 => 3.13.1.51 ; 17th August 2007 => 6th November 2007
include\stlsoft\internal\cccap\watcom.h 3.12.2.67 => 3.13.1.68 ; 17th August 2007 => 6th November 2007
include\stlsoft\memory\allocator_features.hpp 5.0.2.37 => 5.1.1.38 ; 10th January 2007 => 6th November 2007
include\stlsoft\stlsoft.h 3.10.2.312 => 3.11.1.314 ; 5th August 2007 => 6th November 2007
include\stlsoft\util\std\iterator_helper.hpp 5.0.2.101 => 5.1.1.102 ; 12th March 2007 => 6th November 2007
include\stlsoft\util\std\library_discriminator.hpp 4.2.3.95 => 4.4.1.97 ; 13th January 2007 => 6th November 2007
include\unixstl\filesystem\memory_mapped_file.hpp 4.1.7.79 => 4.3.1.81 ; 22nd March 2007 => 25th September 2007
include\winstl\filesystem\filesystem_traits.hpp 4.4.2.104 => 4.5.1.105 ; 12th March 2007 => 9th November 2007
include\winstl\filesystem\memory_mapped_file.hpp 4.4.1.78 => 4.5.1.79 ; 17th August 2007 => 25th October 2007
include\winstl\synch\atomic_functions.h 4.2.2.196 => 4.3.1.198 ; 12th March 2007 => 6th November 2007
include\winstl\system\system_traits.hpp 5.1.3.102 => 5.2.1.104 ; 4th August 2007 => 9th November 2007
Items changed (revision) from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 69
include\atlstl\automation\enumerators.hpp 4.0.2.58 => 4.0.3.59 ; 2nd June 2007 => 6th November 2007
include\comstl\collections\safearray_sequence.hpp 4.1.7.56 => 4.1.8.57 ; 22nd March 2007 => 6th November 2007
include\comstl\error\errorinfo_desc.hpp 0.5.6.29 => 0.5.7.30 ; 8th May 2007 => 14th October 2007
include\comstl\error\excepinfo_functions.h 1.0.0.1 => 1.0.2.2 ; 11th August 2007 => 6th November 2007
include\comstl\smartptr\interface_ptr.hpp 7.1.1.491 => 7.1.2.492 ; 22nd March 2007 => 6th November 2007
include\comstl\util\acyclic_connector.hpp 1.2.5.17 => 1.2.6.18 ; 22nd March 2007 => 6th November 2007
include\inetstl\filesystem\findfile_sequence.hpp 3.0.6.129 => 3.0.7.130 ; 22nd March 2007 => 6th November 2007
include\inetstl\network\connection.hpp 5.1.1.64 => 5.1.2.65 ; 7th April 2007 => 6th November 2007
include\inetstl\network\session.hpp 5.1.1.58 => 5.1.2.59 ; 7th April 2007 => 6th November 2007
include\mfcstl\collections\cstring_adaptors.hpp 4.0.10.83 => 4.0.11.84 ; 19th August 2007 => 6th November 2007
include\platformstl\filesystem\cwd_stack.hpp 2.1.2.21 => 2.1.3.22 ; 12th March 2007 => 6th November 2007
include\platformstl\synch\atomic_functions.h 2.2.1.22 => 2.2.3.23 ; 12th April 2007 => 6th November 2007
include\rangelib\algorithms.hpp 2.3.2.41 => 2.3.3.42 ; 12th April 2007 => 6th November 2007
include\rangelib\salgorithms.hpp 1.1.2.15 => 1.1.3.16 ; 12th March 2007 => 6th November 2007
include\stlsoft\collections\associative_key_sequence.hpp 2.0.2.20 => 2.0.3.21 ; 12th March 2007 => 6th November 2007
include\stlsoft\collections\associative_value_sequence.hpp 2.0.2.21 => 2.0.3.22 ; 12th March 2007 => 6th November 2007
include\stlsoft\collections\functions.hpp 2.0.1.31 => 2.0.2.32 ; 12th March 2007 => 6th November 2007
include\stlsoft\containers\fixed_array.hpp 4.5.2.179 => 4.5.3.180 ; 14th April 2007 => 6th November 2007
include\stlsoft\containers\pod_vector.hpp 4.1.7.69 => 4.1.8.70 ; 22nd March 2007 => 6th November 2007
include\stlsoft\containers\static_array.hpp 4.3.5.181 => 4.3.6.182 ; 8th May 2007 => 6th November 2007
include\stlsoft\containers\unsorted_map.hpp 1.1.5.12 => 1.1.6.13 ; 12th March 2007 => 6th November 2007
include\stlsoft\conversion\truncation_cast.hpp 1.0.1.38 => 1.0.2.39 ; 10th January 2007 => 7th November 2007
include\stlsoft\error\error_desc.hpp 1.0.3.12 => 1.0.4.13 ; 22nd March 2007 => 6th November 2007
include\stlsoft\internal\cccap\msvc.h 3.14.1.95 => 3.14.2.96 ; 4th August 2007 => 6th November 2007
include\stlsoft\iterators\index_iterator.hpp 1.3.4.22 => 1.3.5.23 ; 22nd March 2007 => 6th November 2007
include\stlsoft\iterators\member_selector_iterator.hpp 2.4.4.50 => 2.4.5.51 ; 22nd March 2007 => 6th November 2007
include\stlsoft\iterators\transform_iterator.hpp 2.0.15.114 => 2.0.16.115 ; 22nd March 2007 => 6th November 2007
include\stlsoft\smartptr\scoped_handle.hpp 5.4.1.662 => 5.4.2.664 ; 4th August 2007 => 6th November 2007
include\stlsoft\std\cstring.hpp 1.5.2.28 => 1.5.3.29 ; 12th March 2007 => 6th November 2007
include\stlsoft\string\cstring_maker.hpp 4.0.1.43 => 4.0.2.44 ; 12th March 2007 => 6th November 2007
include\stlsoft\string\simple_string.hpp 4.0.10.236 => 4.0.11.237 ; 22nd March 2007 => 6th November 2007
include\stlsoft\string\special_string_instance.hpp 1.2.3.15 => 1.2.4.16 ; 22nd March 2007 => 6th November 2007
include\stlsoft\string\static_string.hpp 4.1.6.188 => 4.1.8.190 ; 22nd March 2007 => 6th November 2007
include\stlsoft\string\string_view.hpp 3.2.1.84 => 3.2.2.85 ; 19th August 2007 => 6th November 2007
include\stlsoft\string\trim_functions.hpp 2.1.4.32 => 2.1.5.33 ; 19th August 2007 => 6th November 2007
include\stlsoft\string\view_slice_functions.hpp 2.1.2.21 => 2.1.3.22 ; 12th March 2007 => 6th November 2007
include\stlsoft\util\limit_traits.h 4.2.3.55 => 4.2.4.56 ; 20th January 2007 => 20th January 2007
include\unixstl\filesystem\current_directory_scope.hpp 5.1.2.112 => 5.1.3.113 ; 22nd March 2007 => 6th November 2007
include\unixstl\filesystem\path.hpp 6.5.2.224 => 6.5.3.225 ; 22nd March 2007 => 6th November 2007
include\unixstl\unixstl.h 3.3.6.76 => 3.3.7.77 ; 12th March 2007 => 8th November 2007
include\winstl\controls\dialog_functionals.hpp 1.0.1.5 => 1.0.2.6 ; 22nd March 2007 => 6th November 2007
include\winstl\controls\edit_line_sequence.hpp 1.0.4.10 => 1.0.5.11 ; 12th March 2007 => 6th November 2007
include\winstl\controls\functionals.hpp 4.1.3.72 => 4.1.4.74 ; 22nd March 2007 => 6th November 2007
include\winstl\controls\treeview_sequence.hpp 4.0.4.67 => 4.0.5.68 ; 22nd March 2007 => 6th November 2007
include\winstl\error\error_desc.hpp 4.4.1.72 => 4.4.2.73 ; 22nd March 2007 => 6th November 2007
include\winstl\filesystem\current_directory_scope.hpp 5.2.3.119 => 5.2.4.120 ; 22nd March 2007 => 6th November 2007
include\winstl\filesystem\findfile_sequence.hpp 4.6.2.207 => 4.6.3.208 ; 22nd March 2007 => 6th November 2007
include\winstl\filesystem\findvolume_sequence.hpp 4.3.3.107 => 4.3.4.108 ; 22nd March 2007 => 6th November 2007
include\winstl\filesystem\path.hpp 6.6.1.235 => 6.6.3.237 ; 12th August 2007 => 6th November 2007
include\winstl\functional\message.hpp 4.0.1.35 => 4.0.2.36 ; 22nd March 2007 => 6th November 2007
include\winstl\functional\window.hpp 4.0.1.37 => 4.0.2.38 ; 22nd March 2007 => 6th November 2007
include\winstl\registry\reg_key.hpp 3.7.2.119 => 3.7.4.121 ; 4th August 2007 => 6th November 2007
include\winstl\registry\reg_key_sequence.hpp 3.7.1.125 => 3.7.2.126 ; 7th April 2007 => 6th November 2007
include\winstl\registry\reg_traits.hpp 3.2.5.66 => 3.2.6.67 ; 12th March 2007 => 6th November 2007
include\winstl\registry\reg_value.hpp 3.1.1.90 => 3.1.2.92 ; 22nd March 2007 => 6th November 2007
include\winstl\registry\reg_value_sequence.hpp 3.5.1.117 => 3.5.5.121 ; 7th April 2007 => 10th November 2007
include\winstl\shell\drophandle_sequence.hpp 4.0.5.87 => 4.0.6.88 ; 22nd March 2007 => 6th November 2007
include\winstl\system\environment_sequence.hpp 4.0.3.75 => 4.0.4.76 ; 12th March 2007 => 6th November 2007
include\winstl\system\searchpath_sequence.hpp 4.1.3.88 => 4.1.4.89 ; 12th March 2007 => 6th November 2007
include\winstl\window\functions.h 4.0.4.59 => 4.0.7.62 ; 29th July 2007 => 6th November 2007
include\winstl\window\window_enable_scope.hpp 4.0.1.86 => 4.0.2.87 ; 12th March 2007 => 6th November 2007
include\winstl\window\window_icon_scope.hpp 4.0.1.46 => 4.0.2.47 ; 12th March 2007 => 6th November 2007
include\winstl\window\window_redraw_scope.hpp 5.0.1.72 => 5.0.2.73 ; 12th March 2007 => 6th November 2007
include\winstl\window\window_text_scope.hpp 4.0.1.36 => 4.0.2.37 ; 12th March 2007 => 6th November 2007
include\winstl\window\window_update_scope.hpp 5.0.1.72 => 5.0.2.73 ; 12th March 2007 => 6th November 2007
include\winstl\window\window_visible_scope.hpp 4.0.1.35 => 4.0.2.36 ; 12th March 2007 => 6th November 2007
include\winstl\window\zorder_iterator.hpp 2.0.2.36 => 2.0.3.37 ; 8th April 2007 => 6th November 2007
include\winstl\window\zorder_sequences.hpp 2.0.2.13 => 2.0.3.14 ; 22nd March 2007 => 6th November 2007
include\winstl\winstl.h 3.6.3.162 => 3.6.4.163 ; 12th March 2007 => 8th November 2007
Items changed (edit) from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 20
include\acestl\shims\logical\is_empty\message_queue.hpp 3.0.4.25 => 3.0.4.27 ; 12th March 2007 => 6th November 2007
include\acestl\shims\logical\is_empty\string_base.hpp 2.0.2.8 => 2.0.2.10 ; 12th March 2007 => 6th November 2007
include\comstl\util\variant.hpp 2.2.2.146 => 2.2.2.148 ; 29th March 2007 => 6th November 2007
include\mfcstl\collections\carray_swap.hpp 2.0.1.9 => 2.0.1.10 ; 12th March 2007 => 8th November 2007
include\mfcstl\collections\clist_swap.hpp 1.0.1.5 => 1.0.1.6 ; 12th March 2007 => 8th November 2007
include\stlsoft\iterators\c_str_inserter.hpp 2.0.1.26 => 2.0.1.27 ; 22nd March 2007 => 8th November 2007
include\stlsoft\properties\field_properties.hpp 4.0.2.27 => 4.0.2.28 ; 22nd March 2007 => 6th November 2007
include\stlsoft\shims\conversion\to_uint64\std\fundamental.hpp 1.0.1.1 => 1.0.1.2 ; 4th July 2007 => 6th November 2007
include\stlsoft\string\string_traits.hpp 4.0.3.74 => 4.0.3.75 ; 19th August 2007 => 17th October 2007
include\unittest\unittest.hpp 4.2.1.35 => 4.2.1.36 ; 22nd March 2007 => 6th November 2007
include\unixstl\synch\process_mutex.hpp 4.6.1.68 => 4.6.1.69 ; 8th April 2007 => 6th November 2007
include\unixstl\synch\semaphore.hpp 1.2.1.17 => 1.2.1.18 ; 8th April 2007 => 6th November 2007
include\unixstl\synch\thread_mutex.hpp 4.3.1.51 => 4.3.1.52 ; 8th April 2007 => 6th November 2007
include\winstl\controls\commctrl_functionals.hpp 4.1.3.70 => 4.1.3.71 ; 12th March 2007 => 6th November 2007
include\winstl\shims\conversion\to_FILETIME\DATE.hpp 1.0.1.2 => 1.0.1.3 ; 12th March 2007 => 6th November 2007
include\winstl\shims\conversion\to_FILETIME\UDATE.hpp 1.0.3.4 => 1.0.3.5 ; 12th March 2007 => 6th November 2007
include\winstl\shims\conversion\to_SYSTEMTIME\DATE.hpp 1.0.3.4 => 1.0.3.5 ; 12th March 2007 => 6th November 2007
include\winstl\shims\conversion\to_uint64\WIN32_FIND_DATA.hpp 1.0.1.1 => 1.0.1.2 ; 4th July 2007 => 6th November 2007
include\winstl\system\console_functions.h 2.1.2.15 => 2.1.2.16 ; 14th January 2007 => 26th September 2007
include\winstl\system\version_info.hpp 5.2.5.117 => 5.2.5.118 ; 22nd March 2007 => 10th October 2007
Items changed (unversioned) from H:\3Pty\STLSoft\stlsoft-1.9.6 to H:\3Pty\STLSoft\stlsoft-1.9.7: 8
include\stlsoft\containers\unittest\fixed_array_unittest_.h ... => ... ; =>
include\stlsoft\conversion\unittest\truncation_test_unittest_.h ... => ... ; 14th January 2007 => 14th January 2007
include\stlsoft\properties\unittest\field_properties_unittest_.h ... => ... ; =>
include\stlsoft\shims\logical\is_empty\std\unittest\container_unittest_.h ... => ... ; 31st March 2007 => 31st March 2007
include\stlsoft\smartptr\unittest\scoped_handle_unittest_.h ... => ... ; 4th August 2007 => 4th August 2007
include\stlsoft\string\unittest\trim_functions_unittest_.h ... => ... ; =>
include\winstl\filesystem\unittest\path_unittest_.h ... => ... ; 12th August 2007 => 12th August 2007
include\winstl\shell\unittest\browse_for_folder_unittest_.h ... => ... ; 14th January 2007 => 14th January 2007
Items deleted from H:\3Pty\STLSoft\stlsoft-1.9.6: 7
H:\3Pty\STLSoft\stlsoft-1.9.6\include\atlstl\shims\attribute\get_hwnd.hpp
H:\3Pty\STLSoft\stlsoft-1.9.6\include\atlstl\shims\attribute\unittest\get_hwnd_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.6\include\mfcstl\shims\attribute\get_hwnd.hpp
H:\3Pty\STLSoft\stlsoft-1.9.6\include\mfcstl\shims\attribute\unittest\get_hwnd_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.6\include\stlsoft\string\string_view_trim_functions.hpp-
H:\3Pty\STLSoft\stlsoft-1.9.6\include\winstl\shims\attribute\get_hwnd.hpp
H:\3Pty\STLSoft\stlsoft-1.9.6\include\winstl\shims\attribute\unittest\get_hwnd_unittest_.h
Items added to H:\3Pty\STLSoft\stlsoft-1.9.7: 20
H:\3Pty\STLSoft\stlsoft-1.9.7\include\atlstl\shims\attribute\get_HWND.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\atlstl\shims\attribute\unittest\get_HWND_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\mfcstl\shims\attribute\get_HWND.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\mfcstl\shims\attribute\unittest\get_HWND_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\platformstl\filesystem\file_lines.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\stlsoft\shims\attribute\get_FILE_ptr.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\stlsoft\shims\attribute\get_FILE_ptr\std\fundamental.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\stlsoft\shims\attribute\get_FILE_ptr\std\unittest\fundamental_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\stlsoft\shims\conversion\to_uint64\std\unittest\fundamental_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\attribute\get_HWND.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\attribute\unittest\get_HWND_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\DATE.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\FILETIME.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\SYSTEMTIME.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\UDATE.hpp
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\unittest\DATE_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\unittest\FILETIME_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\unittest\SYSTEMTIME_unittest_.h
H:\3Pty\STLSoft\stlsoft-1.9.7\include\winstl\shims\conversion\to_DATE\unittest\UDATE_unittest_.h
============================================================================
Changes for 1.9.6 (25th September 2007)
Additions:
==========
COMSTL
------
+ rbegin() and rend() for comstl::ccombstr_veneer
+ comstl::EXCEPINFO_free()
+ rbegin() and rend() for comstl::bstr
STLSoft
-------
+ front() and back() for stlsoft::auto_buffer (but note: it's still *NOT*
a container!)
+ find() and count() for stlsoft::frequency_map
WinSTL
------
+ winstl::memory_mapped_file now takes offset+range
Fixes:
======
UNIXSTL
-------
~ unixstl::glob_sequence fix in is_valid() (fixes bug seen in Ubuntu 64-bit)
============================================================================
Changes for 1.9.5 (4th August 2007)
Additions:
==========
+ STLSOFT_CF_CDECL_SUPPORTED, in anticipation of changes to support 64-bit
(x64) compilation.
+ comstl::bstr::attach() method
Fixes:
======
COMSTL:
-------
~ comstl::bstr::bstr(C const* s, int len) - fixed bug whereby if len is
less than the actual length of s, actual length is used.
WinSTL:
-------
~ correction to signature of
winstl::basic_reg_key:: template<...> create_key: H& param is now
H const&.
~ corrected pre-condition enforcements of
winstl::system_traits::get_environment_variable
winstl::system_traits::get_module_directory
winstl::system_traits::get_module_filename
winstl::system_traits::get_system_directory
winstl::system_traits::get_windows_directory
============================================================================
Changes for 1.9.4 (2nd August 2007)
Additions:
==========
+ detection of compiler support for __VA_ARGS__, via the
STLSOFT_CF_SUPPORTS_VARIADIC_MACROS
============================================================================
Changes for 1.9.3 (29th July 2007)
Additions:
==========
+ 3 and 4 parameter versions of stlsoft::all_of composite predicate creator
functions
+ 3 and 4 parameter versions of stlsoft::any_of composite predicate creator
functions
+ new shim: stlsoft::to_uint64 conversion shim
* degenerate overload (uint64_t)
* WIN32_FIND_DATA overload
============================================================================
Changes for 1.9.2 (2nd June 2007)
Fixes:
======
+ HICON2LRESULT type converter
+ LRESULT2HICON type converter
+ winstl::basic_reg_key::create_key() static method, to create a key
+ new shim: winstl::get_HKEY
~ bug fix to operator /=() for winstl::basic_path and unixstl::basic_path
============================================================================
Changes for 1.9.1, version released with Extended STL, volume 1 (30th April 2007):
Fixes:
======
~ stlsoft/fixed_array.hpp: function call operator now implemented in terms
of at_unchecked()
~ comstl::bstr: bug fix in constructors taking C-string range, where
range is larger than the string.
~ rangelib/algorithms.hpp: bug fix in r_equal(), r_exists_if(), r_find_if()
============================================================================
Changes for 1.9.1 beta 48 (12th April 2007):
Additions:
==========
+ resource_type (and const_resource_type, for some) member type for:
stlsoft::ptr_proxy
stlsoft::ref_ptr
stlsoft::shared_ptr
comstl::bstr
comstl::guid
inetstl::connection
inetstl::session
unixstl::process_mutex
unixstl::semaphore
unixstl::thread_mutex
winstl::module
winstl::reg_key
winstl::reg_key_sequence
winstl::reg_value_sequence
winstl::event
winstl::process_mutex
winstl::semaphore
+ added operator () to fixed arrays (stlsoft/container/fixed_array.hpp)
(as requested/persuaded by Neal Becker)
Fixes:
======
~ fixed bug in rangelib::r_exists() (Thanks to Yakov Markovitch)
============================================================================
Changes for 1.9.1 beta 47 (6th April 2007):
Additions:
==========
+ stlsoft::any_of() and stlsoft::all_of() composite predicate creator
functions
+ binary forms of stlsoft::ptr_fun and stlsoft::ptr_fun_void
+ element_type and resource_type member types for stlsoft::ref_ptr
+ atlstl::generic_automation_collection now supports Count property
+ comstl::com_SUCCEEDED and comstl::com_S_OK predicate function adaptors
(comstl/functional/com_predicate_adaptors.hpp)
+ comstl::bstr now has additional members:
+ ctor: bstr(bstr const& rhs, size_type pos, size_type len);
+ assign(const_iterator from, const_iterator to);
+ detach()
+ append() overloads, and operator +=() overloads
+ subscript operator
+ begin()/end() methods.
Changes:
========
~ acestl::custom_event_handler::has_custom_event(long) renamed to
acestl::custom_event_handler::has_custom_events(long). The old name is
retained for backwards compatibility, but is deprecated.
~ comstl::variant::QueryInterfaceValue() fixed
~ inetstl::basic_findfile_sequence bug with VC++ 8 now fixed
~ winstl::basic_findfile_sequence bug with VC++ 8 now fixed
~ winstl::basic_findvolume_sequence bug with VC++ 8 now fixed
============================================================================
Changes for 1.9.1 beta 46 (13th March 2007):
Changes:
========
~ wholesale lexical changes (e.g. "char const *x" => "char const* x")
============================================================================
Changes for 1.9.1 beta 45 (12th March 2007):
Additions:
==========
+ comstl::collection_sequence:
+ const_iterator and const_pointer member types
+ comstl::enumerator_sequence:
+ const_iterator and const_pointer member types
+ comstl::variant:
+ constructor taking a variant and a VARTYPE to which to change on copy
+ unixstl::basic_path:
+ empty()
+ has_sep()
+ winstl::basic_path:
+ empty()
+ has_sep()
+ winstl::basic_findfile_sequence:
+ relativePath flag, which causes entries to have a relative path
Changes:
========
~ platformstl::readdir_sequence:
~ fixed element reference category (is By-Value Temporary)
~ correctly returns entry full path only if fullPath flag is specified,
rather than (absolutePath | fullPath)
~ winstl::reg_key:
~ can now copy an empty instance (previously threw an exception)
~ winstl::reg_value:
~ can now copy an empty instance (previously threw an exception)
============================================================================
Changes for 1.9.1 beta 44 (22nd February 2007):
General:
========
~ distribution is now rooted under stlsoft-X.Y, e.g. stlsoft-1.9.1-beta44
Additions:
==========
+ stlsoft::scoped_handle thief-constructor, allowing for re-assignment
of resource and implicit transfer of release function, as in:
{
stlsoft::scoped_handle<void*> sh1(::malloc(10), ::free);
if(some-condition)
{
stlsoft::scoped_handle<void*> sh2(&sh1);
} // if "some-condition", memory is freed here
} // if "!some-condition", memory is freed here
+ comstl::bstr::swap()
+ inetstl::basic_ftpdir_sequence now allows copy construction and copy
assignment
+ mfcstl::CList_adaptor_base::push_back()
Changes:
========
~ stlsoft::scoped_handle now requires the *address of* the resource
when used with an indirect release function. For example, given the
following resource API:
int alloc_resource();
void release_resource_indirect(int *);
the following code used to be valid:
stlsoft::scoped_handle sh(alloc_resource(), release_resource_indirect);
This is now not allowed. It must now be:
int h = alloc_resource();
stlsoft::scoped_handle sh(&h, release_resource_indirect);
Fixes:
======
~ workaround for GCC 3.x, to ensure that stlsoft::fixed_array_?d templates
now correctly copy-construct
~ mfcstl::CList_adaptor_base iterator copying corrected
~ platformstl::readdir_sequence bug fix for Borland/DMC++
~ rangelib::invalid_integral_range_policy - some general tidying up
~ unixstl::glob_sequence now uses stlsoft::scoped_handle, to
simplify implementation
~ winstl::basic_findfile_sequence now uses stlsoft::scoped_handle, to
simplify implementation
Removals:
=========
============================================================================
Changes for