c++ - STLSoft 1.8.4 released
- Matthew (523/523) Jul 28 2005 Download from http://stlsoft.org/downloads.html#stlsoft_1_8_4
- Pablo Aguilar (1/10) Jul 31 2005 Thank you!!! Much nicer looking code is coming out of this...
- Matthew (18/30) Jul 31 2005 You're most welcome.
- Pablo Aguilar (19/33) Aug 01 2005 Here's what I can think of at the moment:
- Matthew (15/34) Aug 02 2005 I was about to reply "that's only for leading underscores", and
- Pablo Aguilar (6/23) Aug 02 2005 While I haven't even begun to try to read the standard, the underscore r...
- Pablo Aguilar (8/8) Aug 01 2005 Ok, we moved at work today to the new release...
- Matthew (5/15) Aug 01 2005 On the list ...
- Pablo Aguilar (4/16) Aug 01 2005 Oh! I thought it was on purpose... (otherwise I would've just patched my...
- Matthew (6/22) Aug 01 2005 Oh dear. This may be one of my silliest moves yet. :$
- Pablo Aguilar (6/9) Aug 01 2005 Oh, don't worry about it...
- Matthew (5/11) Aug 01 2005 Can't do that, it's a really bad break.
- Matthew (185/192) Aug 09 2005 Fixed. Included. (The sequences are still non-mutating ones - I'll be do...
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
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
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:dcj961$kkl$1 digitaldaemon.com...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 MatthewRangeLib -------- + 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
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 MatthewCheers as well... Pablo
Aug 01 2005
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 AFAIKI 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 missingIt's the 1.9 stuff. I'll email you a chm in a few days when it's a bit more in shape.(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?
Aug 02 2005
Right... Well, you asked for inconsistencies...* 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 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).Will do... Pablo* 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.
Aug 02 2005
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
"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 codeEeek! 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
Great!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 ...Oh! I thought it was on purpose... (otherwise I would've just patched my copy) Well, thanks a lot then...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 codeEeek! That shouldn't be. Let me take a look ... ... gah! Total mistake. 1.8.5 will be with you later today. :-(
Aug 01 2005
"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...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.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 codeEeek! That shouldn't be. Let me take a look ... ... gah! Total mistake. 1.8.5 will be with you later today. :-(
Aug 01 2005
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
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:dcm7a4$j6j$1 digitaldaemon.com...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.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...
Aug 01 2005
"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 codeAlready dealt with. :-) begin 666 listbox_sequence.zip M "X L=) QY?=[W[=,Z,GXF7CNM,^(J3I[E\_IJ>G1VD<0^.0U_??P3%<>3-V M!NJZ]_R(SQHS+^*#X*L3L=^7S!^RT^EB`95Q$,Y9.'M0HYS5457B*+CVEN$B MB!3C9N!S%VF 3QD4J6 X<Z/H-*%LALSE;"0IW[SF4^ $=VP^8"&\??WZK1C3 M4Y8!<(U/$X-,.5^<-1JH;A2,^6D03AHITF#Q MPZV'5#ZX_ BL!Y]%7 06<KEW0R88:+,9" 81A"QBX1T;I3!,-D)+A=Y R3W% M,!CA:')&R,CI JT[0!?BJ]A>?L"](:OA.R\2'$&$!;')RO5'!5 H%*/%PR \ M70,$!69L$ -!14=+!+<!BX)!B/;%`DK+43!<SAF&.I$H?DC70(\$^#Z$.09M MZ+FS*+6\<)D SJ 1*]=AGJ"C][X[9Y6H2K!V""_4*B4C]R1P'D K*2D((X3T MHV ,*=I\&7=1%.LGY^BU88'5O;)O-5,'O.^9W8]&2V_!Y2=\J4.SV_MD&A^N M;;CNMENZ:8'6:>'3CFT:EWV[BP]>:A92OI0S"E]JG4^ _](S=<N"K G&3:]M MS6OE G2*;%_&=[W &-<N^H?N/X]QW=^TWHMA<NQNZ_?WW_W C?T1&\.MT;'L M1 ^'-^D'CH4\?XRA3>R=&^T?Z')Y_? (<J.3D+_>G]S4,3X0MZA[]B?76X8= M5RT__ WI,9=[8V <PXOMME*AT7B.`M/PA[/EB(F%OK$N3*Z5;J2W)PG 7$;G MX2Q0>HA)0%R1`C(4I1;?!"&'><T,H#R+.?%:UY"TW>XV-;MKEMBH :OTD$71 ME+D+Q\42!0N^(%8"L9>^7FO5;0!VLS8N%N8*W-C4'E9""<3=3!?SVVHW1V3\ M61TJ[A;ND*U,K1A0I^MTM!O=ZFDBW0)"EUEE5$ELFQU3A3_^ ,_(CJYXY/;T M=4O2**XQJ8-A_6\VY$KYE(D:)[BL,H_)U.L?(/%IJ4UDO*5^+[/M<W YYDF+ M]3USOTS"8+G R!R$;NAA41_GH';\1(T=X/V8G($A/_)PF[%T9RG9)I:.FA-B MVR5\\*%O !*?8L3A4J1R7#QG8S$%G%"Y]7PT2[4`6#Y=U?.0^%'&CV\+6A#W MG[\]V_1O4N&565<;M$BIO"K0EI=JF<).Z"P> DM;/%>6>%Z6R?J:KR:LX,T7 M,T;;7J4PC3?Q13 ';4B+3HH)+3-D"YX!\'GAANX<+!&N,M,"?UC I.<,^>)^ M&9>,R*%'-(L=,=SY`A:N&1)W$1KY-N).K(),96>P6 YFN"-5B<'Q(^=WG!:5 M>) S<"-6A7.(6V#Q MC!V^/_5=X(W$/ )Z,W=()KT,PAFYKGER`A7<]7,6\1JU268R2?*I('I^Y2Y$ M"I:^.9.D,BP+P4 OZ$[4&YM9YJX[=[9D(GK>Y;D/EV&((0LBGAAU92+1M:'V M" 7PJM M<79N9:I%$9FE8J<H;\BII;,BP&Y>:_'N8=M%?,KX1]Y_RK!C_- ; MAV_F*BXY<)4U11\N[S3Y2P4D`;J9/608Q6*.8AE^X-?G2RX3:D48N(IAN5YN M0!VG`'P>PO3>'[7Q]R7^5*WCB7?'?'J'50?[*KENF325Z]M.*\NKAL1<,L D MGS.8.S2HDAF9>5W#UX M0;!0M,>5JGRI9*? 2)_XFJ%]WD-JE0GCG'WE^+ B%4PTJ;Y+.63<INXK;^"$ MF%6%&Q/N>:Y%EC5X):E_??U;GI 6!NT,ZF^H`8QK7+!$S/'*W^FWVVG:2HEH MF YF3*V)*$R8J7J*B<^;^)545DV!/J7$ F:JPYN\>&ES4!R4XN7.ZX6LCMNX M4)0;B?65;Y*<"Z\2OYR<5.)P2 6>G"B3E,$XII9V%D0B.\#HWT%X5C8Z?U5\ M$L1S+I+))4;!`0NM"8M>UM2$A_?O"?NI_+4F;(0K,:SDP-BQ*[8Q<"]$Q4\$ MQ0F7WL +F6B:X,XR2:!2-G52<O,&Y^R([3%GZ_62.5NO/WK.[B \*_O)<Y;P M[SQGXYV23*-K3- =CR/&-YCLY'VE.)-S2V&*)9XN)^]A?W-NQ5'?&T?],3 , M)0-.B?E?HFSED%$+UV>YU#DN=XJK-"[LN0( G][=V5#BB ^,18$69]757"%) MBP:("1^5'W;.MSUI.HB6`T[% SP2AS7S;L5+_K8\E7!1DY%"R=\$Q!W)L_SU M*$X. .)D"XI40KES,B9YC'L2W]+0_988ZGY1#N)3U\_%#V[N:&UQT 0*YT]? M6\[W70+QWXGX-"C<">+%TR%>/ )B:D)9;^$"N<V6[P] S+T+BJ(U=T5[<0"T MZ[=CRF*ILNLW4]6"%6_$9W)1T7S"/"677'L4CZQ%\H.R*1X='^_\OF3]D>[> M_GPGP33H?$(NG$G7..Y)BRX"M<F3KO%*.WI!'\3YU)+V2QB)7#JF9B5M61.> MS]I87M^J?'HS\=RZ2'HU:YN'I=VQI/K>+F2U8RGEY9X69&YJ6&;-1S=HO3RO ML[.D<W5TM*YE*>+F<=S3^#LZ6MOI7=,2W8%]T D].GI44W0'$85L=73(WN N M[A&_$R9'A=_OQ'ER>F"<G(XVKYQ+0WYG9G0[6CLYFG>L?J_7->WJ#I$;LCM& MGQINB.!B6S3&)PC3<QAQ=D-'-WG]TI2Z[R5.39* .A0?L=V3R7WP()^_>"+O MP!L=/XU%(>(>S^SBZ*C</>^RA^=[Q) ZU,PO97L$=[X]?K32FM^376;-7VVE MG9G9Q/I+\:T]KEU,G>O&WS<7D,8Y$51G=V,!*$LX9^A&_#RAO*AD*B31=U;[ MYWD\0]<7)8[KJ1VG*F)3LR$O1PK>TVCU-U5H"$;!N-+N-6W+-HNEH#QS+X_% M2S:)/^;TTF'J;3KLLT*AI0U;H$_I16$FZBE16KDACPN=M%0B'OD9A%4SB=WF MB3Q1TAYY71(0NC\ZD!*8GG93`0<^4H&L*[%ZW1#Y.4\^??W-.#N_XA[*Z3'7 M,LL5UP((]PB"(G%%6']3(!Q,P4Q [*?>S &RHIPR3$:]IZR:J*C\^"80V\%- MQ^OTX0_&O,HTV:]Y^QW#MG7 M`" `MH$`````;&ES=&)O>%]S97%U96YC92YH<'!02P4&``````$``0!"```` &GPX````` ` end begin 666 combobox_sequence.zip M8V4N:'!PS5M[<]I($O_;6[7?H9.MRD$,)H_:NSK'<:T`.=8=!DX2ZTUMME0" M!M %)%8:XOBR^]VO>V;T1+QL7'?:1X0TW?WKQ_3T]"B-E] XYO7]=_ 2KKPY M8LQ .4['_!V':*OI*N(TX,>$D3US_<^1TLT.H.\.YP%HTY4W=T- =2 *% R6 MJGH'MQY2^>#Z8[#N?19Y$5C(Y<X-F6" S>< &$00LHB%7] XA6&RL1?QT!NN MN*>8K"(&GH^P5R':C9X,/=\-[TF9151#SZ I4"_Z,UAQP681C+V)-W*)20U0 M&"&D>Q RBBS4+P#FC_$IHR!"B(N ,Y"VPQ =(W:,4)C BZRUHEBF"CN(EFQ$ MT_AP;<-UK]/630NT;AN?=FW3: [L'CYXKEE(^5S.*'RI=3^"_DO?U"T+>B88 MM0:F?D/0>U>"D35H6K9A#VP=/O1Z;6%[2S=_-EJZ]0XZ/4L8;V#I-91B:P2 MV*#E MV4/XHP:WUSH^1\]W8PUM4R.36&C%EIT=BG+1J'9&7^CJ'SK&![W;TNEMCSC= M&I9>52XT+!ID2/&W&LH>D F$ZQ"=O,T$=4TX&(PKT-H_&P1?#A M/K8&K6OE G2*[%['][W ):Y=] _=?YK PK]EP1>CY- ]U^_OO_O!F_AC-H%; MP>)8_S3Z.+Q%/W LY 5 %&WE[]QH_T"OB^OM0\B-;DS^Z 'DIHXA L"I\GD` MN=XV;%6WO/T;TF,V]R;0> G/=MM*!4?C*6I,PQ_-5V,FEOK&ID"Y5KJ1WIXD M L9GV>SRYPV962"<S$TQ(CX!]E,PQSJ- =75[J9DZ/JNX:+JZ(S7$TF6&' M)+B$],*)H/00\X"X( 5D*$HMO U"#O.&*4"9%K/BM:XA::?3:VEVSRRQ40/7 MZ1&+HAESEXZ+10J6?$&L!&(O?;W1JKL`[&=M7"[,-;BQJ3VLA1*(^YDNYK?3 M;H[(^;V.<S7HBNBVRBPF"J% [DQ6_DA4>1AGB:^3/.>.QU29^=,:,#XZVVFR M\<C=^:,J%+2Q7,4]2H3U)RA'RQ*4(-:P5)05N<IKY^?2$P)Y,DPM2M]_]XW MLGG$!.NVI%%<8U('X_K?;,25\BD3-4YP66<>DZG7/T#BTU*;R(!+_5YFVZ?P M<LR3UNL[YGZ>AL%JB=N38>B&'M;U<1+JQ$_4V"'>3\ 9&/-C#W<:*W>>DFUC MZ:A)(19]^E.ROE<4. WRXPL"Q>9)$,1;G F[LB;XS:*;G$[('Q/&RC:MRQ< M-P4MB/M/WYYL^K>H]LHLK U:I51B%6 WE&N9ZDXH+1Z"2]L\5]9Y7I;+EL*O M)NS +99S1GM?I3(1F/ B6( VHG4G186V&;$ESR#XM MG"4/,05-''XX]9? &XO=!/3G[HALV S".?FN=7H*%=S[<Q;Q&C5+YC)/\ID M>GKE+D46EKXYEZ0R, O10"_H3M0<VUGFKB_N?,5$^+S+<Q^MPA!C%D1 ,>K- M1*)W0TT6BN!UL;L"[<)*2T81FJ5B9RAOQ*FQLR; ;EUK9HD.91?Q*>,?>?\I MPX[Q0V\<OIVKN.3 ==84?;C"T^PO%9 $Z';VD&$4BSF)9?B!7U^LN,RI%6'? M*H;E9KFI?T&,WB;WA?17PBXK."F+2V24EL\7B0>R&X64SYIJM%FHR\U"B8QB M6LIL+:H7)XDLY)=<M9.\L/R[-S_^-?O DOXG^<7(2J9=BPP4KK"D<GV +.B2 MDG/)(I. SF'AT*A*=FCF?0W?"YI*EO+;GZ6*MED2!84EC[)BR/ JC'L>*D^( M0(LURH41!$M%^[)2E2^5[!0<*11?<S31>\ 89LHX9U\Y/J](%1-5JN]2%AGG MJ?O*:S E;E7AS'A<D6V19PU>2/)?7_V6IZ3U03N'^FOJ!N-2%ZP0=5P"= >= M3IJ]4B*:K<,Y4TLC"A.&JIYA_O.F?B6555.HSRB_H*'J\#HO7EH=% >E>;G[ M^B&KXXXN%&5'8G_EG23UPHO$,Z>GE3 4H&GI\HD93!>4G\["R*1'41\'^%9 M1:\D*J1D"B)B4,E E.GU!;+8%.2J;L+=5N1.,2*P. UYY;GGHR L0"1/CXXM M= R<STIQ0M,;>R$3_1/<8R8I5,JFIDINWN"<';,#YFR]7C)GZ_4'S]D]A&=E M/WK.$OZ]YVR\8Y)I=(,)>Y-)Q/ 6DYV^KQ1G<FXQ3+'$T^7T/1QNSITXZ ?C M%\?EK;1HP"FQ^$N4K1TR:N'Z+)<ZQ^5.<97&E3U7`>33NSL?25SQZ;&HT^*L M8WFPOQG%Z1%0G.Y D4HH=T[&) ]Q3^);&GK8$D-],,I!?.;ZN?C!/1ZM+4Z: M0.'B\6O+Q:%+(/X[%=\)A7M!O'P\Q,L'0$Q-*.LM7"!WV?+]$8QY<$%1M.:^ MWJ8LPV_SADS9+%5W\W:J6K#CC MI%UKRO1IF\R;VY9':"Q>6)=QWV9C([&T4Y:4X'L(6>]>2H&YIP6AV[J760/2 M'+-1NH][Q.^$R4GA]SMQOIP>(">GI:TKIVG(3\^,7E?K)&?UCC7H]WNF7=TC M=$/VA='7AUM"N- CC?$)PO101ASDT#E.7K\TK1YZB2.4)*".Q4=L^F2"'][+ MG?H#V666_O7.>B/32Y=US,96>Y3VUV7[/+."T6"$PKXND=CC`D4AC:^WS_?L M*+% SU1+H NM=L?9*B=&N5[9YD\JL(K -9[?2XJTD!4/=^*3.N3;=&7V6;A? MO<5JD;$3;?W%!H 7`(U<7]0[KJ=VH*JH32V'S!PI^4"[U5]7H2$8!9-*I]^R M+=LL%H;R++X\)IML&G_JZ:7#U-MTV M1#SR,PF+:!*[RQ5YHJ1=\JHD)'1_?"0E,%'MIP(.?* "65=B*;LM^'.N?/Q2 MM1KN?J;%G$YI,&#H/']!,QW+CGLJ^'BR%2U46 =L^N,S5"+;<^.?;/23S?E1 M`````0` `+:!`````&-O;6)O8F]X7W-E<75E;F-E+FAP<%!+!08``````0`! ` end
Aug 09 2005