www.digitalmars.com         C & C++   DMDScript  

c++ - STLSoft 1.8.4 released

reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Download from http://stlsoft.org/downloads.html#stlsoft_1_8_4

Lots and lots of changes, many of which were intended for 1.9, but 
they snuck in anyway. ;-)

Details as follows:



================================================================================
27th July 2005 : STLSoft 1.8.3 => 1.8.4
--------------------------------------------------------------------------------

Summary:
========

 . several new components
 . some enhancements
 . some bug fixes
 . Mac compatibility
 . most comprehensively unit-tested release yet (on Linux, Win32 and 
Mac OS-X)
 . documentation still pretty woeful (but work to address this for 
1.9.1 is
    already underway)
 . support for new Pantheios logging library, which I will be 
releasing some
   time in the next few weeks. (Will be at http://pantheios.org/ 
before end of
   August 2005)

New sub-projects:
=================

 <none>

Sub-project versions:
====================

 ATLSTL         1.0.1  =>  1.0.2
 ATLSTL         1.4.1  =>  1.4.2
 COMSTL         1.5.2  =>  1.5.3
 .netSTL        1.1.1
 InetSTL        1.1.1  =>  1.1.2
 PlatformSTL    1.0.1  =>  1.1.1
 MFCSTL         1.3.5  =>  1.4.1
 UNIXSTL        1.3.1  =>  1.4.1
 WinSTL         1.6.2  =>  1.6.3

Additions:
==========

 STLSoft main project
 --------------------

 + stlsoft/array_view.hpp : stlsoft::array_view view adaptor class 
template
 + stlsoft/cmdargs.hpp : stlsoft::cmdargs class, which presents 
argc+argv
    command-line parameters as two separate sequences of options 
(those
    arguments with - or -- prefixes) and values (those without)
 + stlsoft/cstring_concatenator_iterator.hpp :
    stlsoft::cstring_concatenator_iterator class template, which 
acts as an
    output iterator and writes to a c-style string buffer, along 
with
    stlsoft::cstring_concatenator() creator functions
 + stlsoft/cstring_functions.hpp : stlsoft::string_dup() function, 
which
    facilitates duplication from a c-style string with allocation 
from a
    user-specified allocator instance
 + stlsoft/function_adaptors.hpp : aggregating include file that 
includes
    stlsoft/function_pointer_adaptors.hpp, 
stlsoft/method_adaptors.hpp and
    stlsoft/procedure_adaptors.hpp
 + stlsoft/function_pointer_adaptors.hpp : defines
    stlsoft::unary_cdecl_function_pointer class template,
    stlsoft::unary_fastcall_function_pointer class template,
    stlsoft::unary_stdcall_function_pointer, along with 
stlsoft::ptr_fun()
    creator function template overloads
 + stlsoft/indirect_reverse_iterator.hpp: 
stlsoft::indirect_reverse_iterator
    iterator adaptor, that facilitates forward declaration of 
concrete
    collection and iterator classes (which is not supported by 
'classic'
    reverse_iterator adaptors)
 + stlsoft/method_adaptors.hpp : defines
    stlsoft::cdecl_mem_fun_t class template,
    stlsoft::fastcall_mem_fun_t class template,
    stlsoft::stdcall_mem_fun_t class template, along with 
stlsoft::mem_fun()
    creator function template overloads
 + stlsoft/procedure_adaptors.hpp : defines
    stlsoft::unary_procedure_adaptor class template and
    stlsoft::binary_procedure_adaptor class template, along with
    stlsoft::adapt_unary_procedure() and 
stlsoft::adapt_binary_procedure()
    creator function templates.
 + stlsoft/time_string_access.hpp : defines string access shims 
(c_str_ptr(),
    c_str_data(), c_str_len(), etc.) for standard library time types
 + stlsoft/unary_function_output_iterator_adaptor.hpp : defines
    stlsoft::unary_function_output_iterator_adaptor function adaptor 
that
    allows a unary function to act as an output iterator

 + stlsoft/algoritms/pod.hpp : new location for POD algorithms. THIS 
IS
    SUBJECT TO CHANGE IN A FUTURE VERSION
 + stlsoft/util/std_swap.hpp : new location for stlsoft::std_swap() 
utility
    function. THIS IS SUBJECT TO CHANGE IN A FUTURE VERSION
 + stlsoft/util/std/algorithm.hpp : definitions of std_copy(), 
std_for_each(),
    etc. algorithm equivalents. THIS IS SUBJECT TO CHANGE IN A 
FUTURE VERSION
 + stlsoft/util/std/utility.hpp : THIS IS SUBJECT TO CHANGE IN A 
FUTURE VERSION

 COMSTL
 ------

 + comstl/guid.hpp : comstl::guid class - a facade for GUID

 InetSTL
 -------

 + inetstl/filesystem_functions.hpp : inetstl::path_compare() binary 
predicate
    and inetstl::path_exists() unary predicate

 PlatformSTL
 -----------

 + platformstl/current_directory.hpp : definition of 
basic_current_directory
    from UNIXSTL or WinSTL in the platformstl namespace
 + platformstl/current_directory_scope.hpp : definition of
    current_directory_scope from UNIXSTL or WinSTL in the 
platformstl namespace

 RangeLib
 --------

 + rangelib/salgorithms.hpp : sequence adapting versions of the 
range
    algorithms. This means you can now pass an instance of a 
sequence container
    (e.g. vector<string>) to a range algorithm, via sr_for_each(), 
sr_copy(),
    etc.

 UNIXSTL
 -------

 + unixstl/filesystem_functions.hpp : unixstl::path_compare() binary 
predicate
    and unixstl::path_exists() unary predicate

 WinSTL
 ------

 + winstl/clipboard_scope.hpp : winstl::clipboard_scope class, acts 
as a scope
    to the Win32 clipboard, and acts as a facade to the Win32 
clipboard API by
    providing a rich set of functions to manipulate clipboard 
contents
 + winstl/filesystem_functions.hpp : winstl::path_compare() binary 
predicate
    and winstl::path_exists() unary predicate
 + winstl/pid_sequence.hpp : winstl::pid_sequence class, that 
provides STL-like
    sequence over process Ids on the host system
 + winstl/process_module_sequence.hpp : 
winstl::process_module_sequence class,
    that provides STL-like sequence over the loaded modules (DLLs, 
EXEs, etc.)
    for a given process
 + winstl/window_functionals.hpp : defines
    winstl::is_visible unary predicate,
    winstl::is_enabled unary predicate,
    winstl::window_show unary function,
    winstl::window_enable unary function
 + winstl/window_peer_sequence.hpp : defines 
winstl::window_peer_sequence class
    that provides STL-like sequence over the peers of a given window 
(HWND)
 + winstl/zorder_iterator.hpp : defines winstl::zorder_iterator that 
iterates
    over the Z-order peers of a given window (HWND). (Used by
    winstl::window_peer_sequence)

Significant changes:
====================

 STLSoft main project
 --------------------
 ~ all stlsoft::ctype_traits<> method names are changed from 
isalpha() form to
    is_alpha(), to avoid #define clashes with some C standard 
libraries
 ~ STLSoft forward enums macros now define a class with a to_int() 
method for
    conversion of the enum to int
 ~ stlsoft::member_selector_iterator now works, which is nice.
 ~ stlsoft/meta/yesno.hpp now defines stlsoft::value_to_yesno_type 
value/type
    generator class template
 ~ stlsoft::scoped_handle class template now defines close() method
 ~ stlsoft/allocator_base.hpp now defines the allocator_base adaptor 
class
    template, which will be used in the forthcoming (with v1.9.1) 
rewrite of
 all the allocator classes.
 ~ stlsoft::pod_vector class template now works with Visual C++ 7.1 
and 8.0 (I
    finally worked out what their inscrutible template parse problem 
was <g>)
 ~ rewrite of stlsoft_limit_traits.h
 ~ stlsoft::proxy_iterator class template now takes an additional 
two
    (defaulted) template parameters, for reference type and pointer 
type

 ACESTL
 ------
 ~ acestl::custom_event_handler class can now return the 
caller-supplied
    parameter associated with an event. Also can supply them for a 
set of
    event instances for a given cancelled event code.

 RangeLib
 --------
 ~ rangelib::sequence_range class template adaptor has a new 
constructor that
    takes a pair of iterators of the adapted sequence

 UNIXSTL
 -------
 ~ unixstl::spin_mutex now works with Mac OS-X native atomic 
constructs

 WinSTL
 ------
 ~ winstl::shell_browse now takes the starting folder (thanks to 
Pablo Aguilar
    for this enhancement)
 ~ winstl::filesystem_traits class template now defines the 
str_n_cat() method
 ~ winstl::basic_module_filename class template now defines the 
c_str() method
 ~ winstl::basic_reg_key class template now defines the swap() 
method



Source differences:
===================

  root-dir-1: H:\3Pty\stlsoft\1.8.3
  root-dir-2: H:\3Pty\stlsoft\1.8.4
Items unchanged from H:\3Pty\stlsoft\1.8.3 to H:\3Pty\stlsoft\1.8.4: 
187
Items changed from H:\3Pty\stlsoft\1.8.3 to H:\3Pty\stlsoft\1.8.4: 
431
Items changed (major) from H:\3Pty\stlsoft\1.8.3 to 
H:\3Pty\stlsoft\1.8.4:       19
  include\comstl_coll_sequence.h 
3.1.2.48     => 4.0.1.51    ; 19th May 2005       => 17th July 2005
  include\comstl_enum_sequence.h 
3.1.2.172    => 4.0.1.175   ; 19th May 2005       => 17th July 2005
  include\comstl_enumerator_policies.h 
3.1.2.11     => 4.0.1.14    ; 19th May 2005       => 17th July 2005
  include\comstl_functionals.h 
2.1.3.47     => 3.0.2.50    ; 19th May 2005       => 17th July 2005
  include\stlsoft_auto_buffer.h 
2.2.1.96     => 3.0.1.103   ; 19th May 2005       => 17th July 2005
  include\stlsoft_fixed_array.h 
2.1.2.140    => 3.0.1.143   ; 19th May 2005       => 21st July 2005
  include\stlsoft_pair.h 
3.0.3.40     => 4.0.1.42    ; 19th May 2005       => 17th July 2005
  include\stlsoft_pod_vector.h 
2.1.2.36     => 3.0.1.40    ; 19th May 2005       => 17th July 2005
  include\stlsoft_shim_string.h 
1.4.1.11     => 3.0.1.14    ; 19th May 2005       => 25th July 2005
  include\unixstl_glob_sequence.h 
3.1.1.84     => 4.0.1.89    ; 19th May 2005       => 17th July 2005
  include\unixstl_performance_counter.h 
2.0.3.39     => 3.0.1.42    ; 19th May 2005       => 26th July 2005
  include\unixstl_process_mutex.h 
2.0.3.32     => 3.0.1.38    ; 19th May 2005       => 26th July 2005
  include\unixstl_spin_mutex.h 
2.0.4.29     => 3.0.1.32    ; 19th May 2005       => 26th July 2005
  include\winstl_commctrl_functionals.h 
2.1.1.44     => 3.0.1.47    ; 19th May 2005       => 20th July 2005
  include\winstl_control_functionals.h 
2.1.2.43     => 3.0.1.45    ; 19th May 2005       => 19th July 2005
  include\winstl_findfile_sequence.h 
2.3.3.121    => 3.0.1.124   ; 19th May 2005       => 17th July 2005
  include\winstl_shell_browse.h 
2.1.2.39     => 3.0.1.42    ; 21st May 2005       => 17th July 2005
  include\winstl_spin_mutex.h 
2.0.3.29     => 3.0.1.33    ; 19th May 2005       => 26th July 2005
  include\winstl_window_functionals.h 
2.1.1.20     => 3.0.1.22    ; 19th May 2005       => 17th July 2005
Items changed (minor) from H:\3Pty\stlsoft\1.8.3 to 
H:\3Pty\stlsoft\1.8.4:       47
  include\acestl\custom_event_handler.hpp 
1.4.1.23     => 1.5.3.29    ; 21st May 2005       => 27th July 2005
  include\comstl.h 
2.2.1.69     => 2.3.2.72    ; 22nd May 2005       => 17th July 2005
  include\comstl_string_access.h 
2.2.3.76     => 2.3.1.78    ; 21st May 2005       => 17th July 2005
  include\comstl_task_allocator.h 
2.1.2.58     => 2.2.3.62    ; 19th May 2005       => 17th July 2005
  include\inetstl.h 
2.1.1.14     => 2.2.1.16    ; 21st May 2005       => 17th July 2005
  include\mfcstl_window_access.h 
2.0.3.24     => 2.1.1.26    ; 19th May 2005       => 17th July 2005
  include\platformstl\atomic_functions.h 
1.0.4.5      => 1.1.2.8     ; 21st May 2005       => 27th July 2005
  include\platformstl\platformstl.h 
1.0.2.2      => 1.2.1.5     ; 19th May 2005       => 27th July 2005
  include\rangelib\sequence_range.hpp 
2.4.2.35     => 2.5.2.39    ; 20th May 2005       => 27th July 2005
  include\stlsoft.h 
2.9.1.234    => 2.14.1.243  ; 21st May 2005       => 23rd July 2005
  include\stlsoft\algorithms.hpp 
1.3.3.9      => 1.4.4.15    ; 21st May 2005       => 27th July 2005
  include\stlsoft\ctype_traits.hpp 
1.0.4.4      => 1.1.2.8     ; 4th May 2005        => 27th July 2005
  include\stlsoft\forward_enums.hpp 
2.2.2.36     => 2.3.1.38    ; 19th May 2005       => 17th July 2005
  include\stlsoft\member_selector_iterator.hpp 
1.0.2.5      => 1.1.4.14    ; 20th May 2005       => 27th July 2005
  include\stlsoft\meta\yesno.hpp 
1.0.2.3      => 1.1.1.6     ; 19th May 2005       => 27th July 2005
  include\stlsoft\scoped_handle.hpp 
4.0.7.633    => 4.2.4.639   ; 19th May 2005       => 27th July 2005
  include\stlsoft\string_case_functions.hpp 
1.0.4.4      => 1.1.2.7     ; 27th April 2005     => 17th July 2005
  include\stlsoft\string_view.hpp 
2.4.6.29     => 2.5.6.39    ; 21st May 2005       => 27th July 2005
  include\stlsoft_allocator_base.h 
2.0.1.9      => 2.1.4.14    ; 19th May 2005       => 17th July 2005
  include\stlsoft_cccap_borland.h 
2.2.3.41     => 2.3.2.44    ; 19th May 2005       => 17th July 2005
  include\stlsoft_cccap_como.h 
2.2.1.33     => 2.3.1.35    ; 25th November 2004  => 17th July 2005
  include\stlsoft_cccap_dmc.h 
2.2.1.50     => 2.3.2.54    ; 20th November 2004  => 17th July 2005
  include\stlsoft_cccap_gcc.h 
2.2.4.36     => 2.4.2.41    ; 19th May 2005       => 17th July 2005
  include\stlsoft_cccap_intel.h 
2.2.1.39     => 2.3.1.43    ; 21st November 2004  => 17th July 2005
  include\stlsoft_cccap_msvc.h 
2.3.3.61     => 2.4.2.66    ; 19th May 2005       => 27th July 2005
  include\stlsoft_cccap_mwerks.h 
2.2.1.33     => 2.3.1.35    ; 20th November 2004  => 17th July 2005
  include\stlsoft_cccap_unknown.h 
2.2.1.31     => 2.3.1.33    ; 20th November 2004  => 17th July 2005
  include\stlsoft_cccap_vectorc.h 
2.1.1.23     => 2.2.1.25    ; 20th November 2004  => 17th July 2005
  include\stlsoft_cccap_watcom.h 
2.2.1.35     => 2.3.1.40    ; 20th November 2004  => 17th July 2005
  include\stlsoft_limit_traits.h 
2.1.1.33     => 2.3.3.37    ; 19th May 2005       => 17th July 2005
  include\stlsoft_malloc_allocator.h 
2.1.2.54     => 2.2.3.59    ; 21st May 2005       => 27th July 2005
  include\stlsoft_meta.h 
3.6.1.97     => 3.8.3.102   ; 19th May 2005       => 17th July 2005
  include\stlsoft_new_allocator.h 
2.1.2.55     => 2.2.3.59    ; 21st May 2005       => 27th July 2005
  include\stlsoft_null_allocator.h 
2.1.2.53     => 2.2.3.58    ; 21st May 2005       => 27th July 2005
  include\stlsoft_proxy_iterator.h 
2.2.1.29     => 2.3.2.33    ; 19th May 2005       => 17th July 2005
  include\stlsoft_simple_algorithms.h 
2.1.1.56     => 2.2.3.62    ; 21st May 2005       => 27th July 2005
  include\stlsoft_string_access.h 
2.2.2.62     => 2.3.1.64    ; 21st May 2005       => 17th July 2005
  include\unixstl.h 
2.1.1.46     => 2.2.1.49    ; 21st May 2005       => 24th July 2005
  include\unixstl_atomic_functions.h 
3.0.5.173    => 3.1.2.178   ; 19th May 2005       => 27th July 2005
  include\unixstl_current_directory_scope.h 
3.2.1.83     => 3.3.1.87    ; 20th May 2005       => 27th July 2005
  include\winstl.h 
2.3.1.121    => 2.4.2.126   ; 22nd May 2005       => 17th July 2005
  include\winstl_filesystem_traits.h 
2.3.4.57     => 2.4.1.59    ; 20th May 2005       => 17th July 2005
  include\winstl_global_allocator.h 
2.1.1.51     => 2.2.4.56    ; 19th May 2005       => 17th July 2005
  include\winstl_listview_sequence.h 
2.1.3.29     => 2.2.5.35    ; 19th May 2005       => 25th July 2005
  include\winstl_module_filename.h 
2.1.1.46     => 2.2.2.49    ; 19th May 2005       => 27th July 2005
  include\winstl_processheap_allocator.h 
2.1.2.55     => 2.2.2.59    ; 19th May 2005       => 17th July 2005
  include\winstl_reg_key.h 
2.1.1.69     => 2.2.1.72    ; 21st May 2005       => 17th July 2005
Items changed (revision) from H:\3Pty\stlsoft\1.8.3 to 
H:\3Pty\stlsoft\1.8.4:    120
Items changed (edit) from H:\3Pty\stlsoft\1.8.3 to 
H:\3Pty\stlsoft\1.8.4:        200
Items changed (unversioned) from H:\3Pty\stlsoft\1.8.3 to 
H:\3Pty\stlsoft\1.8.4: 45
  include\atlstl\ccombstr_veneer.hpp 
...          => ...         ;                     =>
  include\comstl\coll_sequence.hpp 
...          => 4.0.1.51    ;                     => 17th July 2005
  include\comstl\enum_sequence.hpp 
...          => 4.0.1.175   ;                     => 17th July 2005
  include\comstl\enumerator_policies.hpp 
...          => 4.0.1.14    ;                     => 17th July 2005
  include\comstl\functionals.hpp 
...          => ...         ;                     =>
  include\release-history.txt 
...          => ...         ; 22nd May 2005       => 27th May 2005
  include\stlsoft\auto_buffer.hpp 
...          => 3.0.2.104   ;                     => 26th July 2005
  include\stlsoft\fast_string_concatenator.hpp 
...          => ...         ;                     =>
  include\stlsoft\field_properties.hpp 
...          => ...         ;                     =>
  include\stlsoft\filter_iterator.hpp 
...          => ...         ;                     =>
  include\stlsoft\fixed_array.hpp 
...          => 3.0.1.143   ;                     => 21st July 2005
  include\stlsoft\functionals.hpp 
...          => ...         ;                     =>
  include\stlsoft\iterator.hpp 
...          => ...         ;                     =>
  include\stlsoft\method_properties.hpp 
...          => ...         ;                     =>
  include\stlsoft\pair.hpp 
...          => 4.0.1.43    ;                     => 27th July 2005
  include\stlsoft\pod_vector.hpp 
...          => 3.0.1.40    ;                     => 17th July 2005
  include\stlsoft\printf_traits.hpp 
...          => 3.1.1.41    ;                     => 17th July 2005
  include\stlsoft\proxy_iterator.hpp 
...          => ...         ;                     =>
  include\stlsoft\proxy_sequence.hpp 
...          => ...         ;                     =>
  include\stlsoft\searchspec_sequence.hpp 
...          => ...         ;                     =>
  include\stlsoft\shim_string.hpp 
...          => 2.0.1.14    ;                     => 25th July 2005
  include\stlsoft\simple_string.hpp 
...          => ...         ;                     =>
  include\stlsoft\static_array.hpp 
...          => ...         ;                     =>
  include\stlsoft\static_string.hpp 
...          => ...         ;                     =>
  include\stlsoft\string_functionals.hpp 
...          => 1.0.3.6     ;                     => 27th July 2005
  include\stlsoft\string_tokeniser.hpp 
...          => ...         ;                     =>
  include\stlsoft\string_traits.hpp 
...          => ...         ;                     =>
  include\stlsoft_printf_traits.h 
2.1.4.35     => ...         ; 19th May 2005       =>
  include\unixstl\glob_sequence.hpp 
...          => 4.0.1.90    ;                     => 27th July 2005
  include\unixstl\performance_counter.hpp 
...          => 3.0.1.43    ;                     => 27th July 2005
  include\unixstl\process_mutex.hpp 
...          => 3.0.1.39    ;                     => 27th July 2005
  include\unixstl\spin_mutex.hpp 
...          => 3.0.2.33    ;                     => 27th July 2005
  include\winstl\commctrl_functionals.hpp 
...          => 3.0.3.49    ;                     => 27th July 2005
  include\winstl\control_functionals.hpp 
...          => 3.0.5.49    ;                     => 27th July 2005
  include\winstl\findfile_sequence.hpp 
...          => 3.0.1.124   ;                     => 17th July 2005
  include\winstl\listview_sequence.hpp 
...          => ...         ;                     =>
  include\winstl\message_functionals.hpp 
...          => 3.0.1.22    ;                     => 17th July 2005
  include\winstl\resource_string.hpp 
...          => 3.0.2.53    ;                     => 17th July 2005
  include\winstl\searchpath_sequence.hpp 
...          => 3.1.3.58    ;                     => 20th July 2005
  include\winstl\shell_browse.hpp 
...          => 3.0.1.42    ;                     => 17th July 2005
  include\winstl\spin_mutex.hpp 
...          => 3.0.1.33    ;                     => 26th July 2005
  include\winstl_resource_string.h 
2.2.2.50     => ...         ; 19th May 2005       =>
  include\winstl_searchpath_sequence.h 
2.1.1.52     => ...         ; 19th May 2005       =>
  include\x\wtlstl_x_simple_help_window.h 
...          => ...         ; 20th May 2005       => 17th July 2005
  include\x\wtlstl_x_synesis_controls.h 
...          => ...         ; 19th May 2005       => 27th July 2005
Items deleted from H:\3Pty\stlsoft\1.8.3: 
2
Items added to H:\3Pty\stlsoft\1.8.4: 
52
  H:\3Pty\stlsoft\1.8.4\include\comstl\guid.hpp
  H:\3Pty\stlsoft\1.8.4\include\comstl\interface_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\comstl\type_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\comstl\unittest\guid_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\comstl\unittest\interface_functionals_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\comstl\unittest\type_functionals_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\inetstl\filesystem_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\platformstl\current_directory.hpp
  H:\3Pty\stlsoft\1.8.4\include\platformstl\current_directory_scope.hpp
  H:\3Pty\stlsoft\1.8.4\include\rangelib\salgorithms.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\algorithms\pod.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\algorithms\unittest\pod_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\array_view.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\cmdargs.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\cstring_concatenator_iterator.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\cstring_functions.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\function_adaptors.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\function_pointer_adaptors.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\indirect_reverse_iterator.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\method_adaptors.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\procedure_adaptors.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\time_string_access.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unary_function_output_iterator_adaptor.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\auto_buffer_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\member_selector_iterator_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\printf_traits_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\string_container_slice_functions_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\string_split_functions_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\string_trim_functions_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\string_view_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\unittest\tokeniser_functions_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\util\std\algorithm.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\util\std\utility.hpp
  H:\3Pty\stlsoft\1.8.4\include\stlsoft\util\std_swap.hpp
  H:\3Pty\stlsoft\1.8.4\include\unixstl\filesystem_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\unixstl\unittest\spin_mutex_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\clipboard_scope.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\filesystem_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\pid_sequence.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\process_module_sequence.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\process_status.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\clipboard_scope_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\filesystem_functionals_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\pid_sequence_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\process_module_sequence_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\resource_string_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\searchpath_sequence_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\shell_browse_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\unittest\spin_mutex_unittest_.h
  H:\3Pty\stlsoft\1.8.4\include\winstl\window_functionals.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\window_peer_sequence.hpp
  H:\3Pty\stlsoft\1.8.4\include\winstl\zorder_iterator.hpp
Jul 28 2005
next sibling parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
  RangeLib
  --------

  + rangelib/salgorithms.hpp : sequence adapting versions of the
 range
     algorithms. This means you can now pass an instance of a
 sequence container
     (e.g. vector<string>) to a range algorithm, via sr_for_each(),
 sr_copy(),
     etc.

Thank you!!! Much nicer looking code is coming out of this...
Jul 31 2005
parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message 
news:dcj961$kkl$1 digitaldaemon.com...
  RangeLib
  --------

  + rangelib/salgorithms.hpp : sequence adapting versions of the
 range
     algorithms. This means you can now pass an instance of a
 sequence container
     (e.g. vector<string>) to a range algorithm, via 
 sr_for_each(),
 sr_copy(),
     etc.

Thank you!!! Much nicer looking code is coming out of this...

You're most welcome. Sorry that some of your contributions haven't made it in yet, but 1.9.1 is not too far away. FYI: in writing Extended STL, I am gradually going through all the STLSoft libraries and properly refactoring, categorising, documenting etc. I think this will help in (i) getting rid of obsolete, or just downright bad libraries, (ii) cleaning up and removing inconsistencies (i.e. wrt the standard) and bugs, and (iii) in getting better documentation. So far I've done a lot of cleaning up of the Allocators, Algorithms and Functors/Adaptors. I think 1.9.1 betas will start in a week or two, and I look forward to your prodding me about any contributions you've made that are missing, or any other ideas for inclusion. (And some help on the docs won't hurt <g>) Cheers Matthew
Jul 31 2005
parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
 Sorry that some of your contributions haven't made it in yet, but 1.9.1 is 
 not too far away.

No problem...
 FYI: in writing Extended STL, I am gradually going through all the STLSoft 
 libraries and properly refactoring, categorising, documenting etc. I think 
 this will help in (i) getting rid of obsolete, or just downright bad 
 libraries, (ii) cleaning up and removing inconsistencies (i.e. wrt the 
 standard) and bugs, and (iii) in getting better documentation. So far I've 
 done a lot of cleaning up of the Allocators, Algorithms and 
 Functors/Adaptors. I think 1.9.1 betas will start in a week or two, and I 
 look forward to your prodding me about any contributions you've made that 
 are missing, or any other ideas for inclusion.

Here's what I can think of at the moment: * There's inconsistent use of int vs. ws_int_t (and others I'd guess). I've seen it mostly in WinSTL, though its probably elsewhere also. * There's inconsistent use of ::SendMessage vs winstl_send_message (or something likely, don't remember exactly right now) * I think the new C-style headers have a slight (techincal) problem with the standard, in that they use double underscores as substitute for the scope operator, but then double underscore names are reserved by the standard AFAIK * I believe some [winstl, don't know about other] sequence classes could be refactored to remove lots of duplicate nearly identical code, this is how I've tried to write the sequences with string/value pairs (e-mail coming in a few hours) * The th_*_sequence classes are the only contribution I'd say is missing
 (And some help on the docs won't hurt <g>)

You say you've been upgrading some documentation already... which is it so I can take a look?
 Cheers

 Matthew

Cheers as well... Pablo
Aug 01 2005
parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
 Here's what I can think of at the moment:
 * There's inconsistent use of int vs. ws_int_t (and others I'd 
 guess). I've seen it mostly in WinSTL, though its probably 
 elsewhere also.
 * There's inconsistent use of ::SendMessage vs winstl_send_message 
 (or something likely, don't remember exactly right now)

Not sure either of these is a huge problem, but I agree that unmotivated inconsistency is a motivation to make consistent. ;)
 * I think the new C-style headers have a slight (techincal) 
 problem with the standard, in that they use double underscores as 
 substitute for the scope operator, but then double underscore 
 names are reserved by the standard AFAIK

I was about to reply "that's only for leading underscores", and verified such in the C99 standard. Then I looked in C++98, and was stunned to learn that the implementation reserved indentifiers containing _embedded_ double underscores. All I can say is: what a ridiculous rule! Since the C-compatible functions are already out there, I'm not going to change them.
 * I believe some [winstl, don't know about other] sequence classes 
 could be refactored to remove lots of duplicate nearly identical 
 code, this is how I've tried to write the sequences with 
 string/value pairs (e-mail coming in a few hours)

I don't doubt it. If you can find specific examples where you suspect this may be so, I can get to it. This will also help me with "Extended STL" as I'll be covering the chapters on writing collections over the next 2-3 weeks.
 * The th_*_sequence classes are the only contribution I'd say is 
 missing

 (And some help on the docs won't hurt <g>)

You say you've been upgrading some documentation already... which is it so I can take a look?

It's the 1.9 stuff. I'll email you a chm in a few days when it's a bit more in shape.
Aug 02 2005
parent "Pablo Aguilar" <paguilarg hotmail.com> writes:
 * There's inconsistent use of ::SendMessage vs winstl_send_message
 (or something likely, don't remember exactly right now)

Not sure either of these is a huge problem, but I agree that unmotivated inconsistency is a motivation to make consistent. ;)

Right... Well, you asked for inconsistencies...
 I was about to reply "that's only for leading underscores", and
 verified such in the C99 standard. Then I looked in C++98, and was
 stunned to learn that the implementation reserved indentifiers
 containing _embedded_ double underscores. All I can say is: what a
 ridiculous rule!

While I haven't even begun to try to read the standard, the underscore rules are "Sutter 101" for me (amongst all the things I could've learned from reading his books, that's one of few that really stuck with me).
 * I believe some [winstl, don't know about other] sequence classes
 could be refactored to remove lots of duplicate nearly identical
 code, this is how I've tried to write the sequences with
 string/value pairs (e-mail coming in a few hours)

I don't doubt it. If you can find specific examples where you suspect this may be so, I can get to it. This will also help me with "Extended STL" as I'll be covering the chapters on writing collections over the next 2-3 weeks.

Will do... Pablo
Aug 02 2005
prev sibling parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
Ok, we moved at work today to the new release...

Here's the 2 things I've found so far:

1) listbox_sequence (and I'd say all of it's kin) is still missing 
reference/const_reference typedefs, that are required by sequence_range.

2) c_str_ptr(*findfile_sequence::iterator) now returns a file's name, and 
not it's path (it used to return it's full path). Now, there's likely a very 
good reason for this, but for the time being it broke some code

I'll get back with more news if there are any
Aug 01 2005
next sibling parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message 
news:dclvku$chp$1 digitaldaemon.com...
 Ok, we moved at work today to the new release...

 Here's the 2 things I've found so far:

 1) listbox_sequence (and I'd say all of it's kin) is still missing 
 reference/const_reference typedefs, that are required by 
 sequence_range.

On the list ...
 2) c_str_ptr(*findfile_sequence::iterator) now returns a file's 
 name, and not it's path (it used to return it's full path). Now, 
 there's likely a very good reason for this, but for the time being 
 it broke some code

Eeek! That shouldn't be. Let me take a look ... ... gah! Total mistake. 1.8.5 will be with you later today. :-(
 I'll get back with more news if there are any

Aug 01 2005
next sibling parent "Pablo Aguilar" <paguilarg hotmail.com> writes:
 Ok, we moved at work today to the new release...

 Here's the 2 things I've found so far:

 1) listbox_sequence (and I'd say all of it's kin) is still missing 
 reference/const_reference typedefs, that are required by sequence_range.

On the list ...

Great!
 2) c_str_ptr(*findfile_sequence::iterator) now returns a file's name, and 
 not it's path (it used to return it's full path). Now, there's likely a 
 very good reason for this, but for the time being it broke some code

Eeek! That shouldn't be. Let me take a look ... ... gah! Total mistake. 1.8.5 will be with you later today. :-(

Oh! I thought it was on purpose... (otherwise I would've just patched my copy) Well, thanks a lot then...
Aug 01 2005
prev sibling parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
"Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message 
news:dcm27k$esg$1 digitaldaemon.com...
 "Pablo Aguilar" <paguilarg hotmail.com> wrote in message 
 news:dclvku$chp$1 digitaldaemon.com...
 Ok, we moved at work today to the new release...

 Here's the 2 things I've found so far:

 1) listbox_sequence (and I'd say all of it's kin) is still 
 missing reference/const_reference typedefs, that are required by 
 sequence_range.

On the list ...
 2) c_str_ptr(*findfile_sequence::iterator) now returns a file's 
 name, and not it's path (it used to return it's full path). Now, 
 there's likely a very good reason for this, but for the time 
 being it broke some code

Eeek! That shouldn't be. Let me take a look ... ... gah! Total mistake. 1.8.5 will be with you later today. :-(

Oh dear. This may be one of my silliest moves yet. :$ To workaround your problem, using the ctor overload that requires a directory (using ".") is likely to work, while I fix the problem properly.
Aug 01 2005
parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
 Oh dear. This may be one of my silliest moves yet. :$

 To workaround your problem, using the ctor overload that requires a 
 directory (using ".") is likely to work, while I fix the problem properly.

Oh, don't worry about it... I just changed from: c_str_ptr(*it) to c_str_ptr((*it).get_path()) And that seemed to work fine...
Aug 01 2005
parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message 
news:dcm7a4$j6j$1 digitaldaemon.com...
 Oh dear. This may be one of my silliest moves yet. :$

 To workaround your problem, using the ctor overload that requires 
 a directory (using ".") is likely to work, while I fix the 
 problem properly.

Oh, don't worry about it...

Can't do that, it's a really bad break. Am fixing now. Expect 1.8.5 to be uploaded (and 1.8.4 to be removed) later today.
Aug 01 2005
prev sibling parent "Matthew" <admin.hat stlsoft.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message
news:dclvku$chp$1 digitaldaemon.com...
 Ok, we moved at work today to the new release...

 Here's the 2 things I've found so far:

 1) listbox_sequence (and I'd say all of it's kin) is still missing
 reference/const_reference typedefs, that are required by sequence_range.

Fixed. Included. (The sequences are still non-mutating ones - I'll be doing mutating versions this/next week, as part of my "Extended STL" research - so they only contain const_reference. That should be enough to satisfy sequence_range, however.)
 2) c_str_ptr(*findfile_sequence::iterator) now returns a file's name, and
 not it's path (it used to return it's full path). Now, there's likely a very
 good reason for this, but for the time being it broke some code

Already dealt with. :-)
Aug 09 2005