* Added `stlsoft::member_selector_view<>`: (#105)
+ **include/stlsoft/view/transforming/member_selector_view.hpp**;
+ **test/scratch/stlsoft/view/member_selector_view**;
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* C90 (#108)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* C90 (gcc) (#109)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* C++11 compatibility (for GCC)
* C++17 compatibility (for GCC)
* C++98 compatibility (for GCC)
* C90 (Visual C++) (#110)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* C++11 compatibility (for Visual C++)
* C++23 compatibility (for Visual C++)
* TODO.md : ~ updated
* Visual C++ version (1944)
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* WinSTL `system_traits` (#106)
* + added **include/winstl/api/internal/SystemInformation.h** ; + added **test.unit.winstl.api.internal.SystemInformation** ;
* **test.unit.winstl.api.internal.SystemInformation** : + added tests of `GetSystemDirectoryA/W()`
* + added **test.unit.winstl.system.system_traits** ; ~ improved semantics of `winstl::system_trait<>::get_system_directory()` and `winstl::system_trait<>::get_windows_directory()`
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* **test.unit.winstl.system.system_traits** : ~ misc. fixes
* + added **test.unit.winstl.api.internal.DynamicLinkLibrary** ; ~ improved semantics of `winstl::system_traits<>::get_module_filename()`
* ~ documentation
* ~ improved semantics of `winstl::system_traits<>::get_environment_variable()`
* TODO.md : ~ updated
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* + added unit-tests of `winstl::system_traits<>::get_module_directory()`
* ~ improved semantics of `winstl::system_traits<>::expand_environment_strings()`
* ~ preparatory mods
* `winstl::system_traits<>::expand_environment_strings()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_environment_variable()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_home_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>` : ~ fix for failure to obtain resource with empty buffer for reasons other than insufficient-buffer
* `winstl::system_traits<>::get_module_filename()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_systems_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_windows_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* ~ missed a bit (for `expand_environment_strings()`)
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* WinSTL `filesystem_traits` (#107)
* + added **include/winstl/api/internal/SystemInformation.h** ; + added **test.unit.winstl.api.internal.SystemInformation** ;
* **test.unit.winstl.api.internal.SystemInformation** : + added tests of `GetSystemDirectoryA/W()`
* + added **test.unit.winstl.system.system_traits** ; ~ improved semantics of `winstl::system_trait<>::get_system_directory()` and `winstl::system_trait<>::get_windows_directory()`
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* **test.unit.winstl.system.system_traits** : ~ misc. fixes
* + added **test.unit.winstl.api.internal.DynamicLinkLibrary** ; ~ improved semantics of `winstl::system_traits<>::get_module_filename()`
* ~ documentation
* ~ improved semantics of `winstl::system_traits<>::get_environment_variable()`
* TODO.md : ~ updated
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* + added unit-tests of `winstl::system_traits<>::get_module_directory()`
* ~ improved semantics of `winstl::system_traits<>::expand_environment_strings()`
* ~ preparatory mods
* `winstl::system_traits<>::expand_environment_strings()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_environment_variable()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_home_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>` : ~ fix for failure to obtain resource with empty buffer for reasons other than insufficient-buffer
* `winstl::system_traits<>::get_module_filename()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_systems_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_windows_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* ~ missed a bit (for `expand_environment_strings()`)
* ~ documentation changes
* brought over **test.unit.winstl.filesystem.filesystem_traits**
* brought over **test.component.winstl.filesystem.filesystem_traits**
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* C90 (MinGW) (#111)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* TODO.md : + C/C++ language permutation table
* Merged 'dev' into 'c90.mingw'
Squashed commit of the following:
commit 318789e560260d0501f84918991a57dd896df446
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 13:01:23 2025 +1000
WinSTL `filesystem_traits` (#107)
* + added **include/winstl/api/internal/SystemInformation.h** ; + added **test.unit.winstl.api.internal.SystemInformation** ;
* **test.unit.winstl.api.internal.SystemInformation** : + added tests of `GetSystemDirectoryA/W()`
* + added **test.unit.winstl.system.system_traits** ; ~ improved semantics of `winstl::system_trait<>::get_system_directory()` and `winstl::system_trait<>::get_windows_directory()`
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* **test.unit.winstl.system.system_traits** : ~ misc. fixes
* + added **test.unit.winstl.api.internal.DynamicLinkLibrary** ; ~ improved semantics of `winstl::system_traits<>::get_module_filename()`
* ~ documentation
* ~ improved semantics of `winstl::system_traits<>::get_environment_variable()`
* TODO.md : ~ updated
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* + added unit-tests of `winstl::system_traits<>::get_module_directory()`
* ~ improved semantics of `winstl::system_traits<>::expand_environment_strings()`
* ~ preparatory mods
* `winstl::system_traits<>::expand_environment_strings()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_environment_variable()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_home_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>` : ~ fix for failure to obtain resource with empty buffer for reasons other than insufficient-buffer
* `winstl::system_traits<>::get_module_filename()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_systems_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_windows_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* ~ missed a bit (for `expand_environment_strings()`)
* ~ documentation changes
* brought over **test.unit.winstl.filesystem.filesystem_traits**
* brought over **test.component.winstl.filesystem.filesystem_traits**
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
commit 2de48ad1f40b7b6811a8039a0de35d460889e46c
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 12:55:33 2025 +1000
WinSTL `system_traits` (#106)
* + added **include/winstl/api/internal/SystemInformation.h** ; + added **test.unit.winstl.api.internal.SystemInformation** ;
* **test.unit.winstl.api.internal.SystemInformation** : + added tests of `GetSystemDirectoryA/W()`
* + added **test.unit.winstl.system.system_traits** ; ~ improved semantics of `winstl::system_trait<>::get_system_directory()` and `winstl::system_trait<>::get_windows_directory()`
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* **test.unit.winstl.system.system_traits** : ~ misc. fixes
* + added **test.unit.winstl.api.internal.DynamicLinkLibrary** ; ~ improved semantics of `winstl::system_traits<>::get_module_filename()`
* ~ documentation
* ~ improved semantics of `winstl::system_traits<>::get_environment_variable()`
* TODO.md : ~ updated
* ~ improved semantics of `winstl::system_trait<>::get_home_directory()`
* + added unit-tests of `winstl::system_traits<>::get_module_directory()`
* ~ improved semantics of `winstl::system_traits<>::expand_environment_strings()`
* ~ preparatory mods
* `winstl::system_traits<>::expand_environment_strings()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_environment_variable()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_home_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>` : ~ fix for failure to obtain resource with empty buffer for reasons other than insufficient-buffer
* `winstl::system_traits<>::get_module_filename()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_systems_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* `winstl::system_traits<>::get_windows_directory()` : ~ simplified implementation(s), and ensured compatible with `std::vector<>` (as they are with `stlsoft::auto_buffer<>`)
* ~ missed a bit (for `expand_environment_strings()`)
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
commit c5c180e4ccf2a78f4d7fa7e998a674fb84b8d447
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 12:44:59 2025 +1000
C90 (Visual C++) (#110)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* C++11 compatibility (for Visual C++)
* C++23 compatibility (for Visual C++)
* TODO.md : ~ updated
* Visual C++ version (1944)
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
commit d129989a113e3401a5b360435f08ab3d40fd4b26
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 12:30:30 2025 +1000
C90 (gcc) (#109)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
* C++11 compatibility (for GCC)
* C++17 compatibility (for GCC)
* C++98 compatibility (for GCC)
commit 8d1a23d8aaaa9c983205bf7584b00bc9e526fff0
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 12:23:47 2025 +1000
C90 (#108)
* InetSTL / UNIXSTL / WinSTL : ~ canonicalised, expanded, and corrected architecture discrimination
* ~ C90 compatibility
* ~ preparatory mods
* C++14 compatibility
* C99 compatibility
* C++98 compatibility
* ~ misc C++ version compatibility
* TODO.md : + C/C++ language permutation table
commit 95e821a924bf51ee368a148554d4be4d5ff599c8
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Thu May 29 12:10:16 2025 +1000
Added `stlsoft::member_selector_view<>`: (#105)
+ **include/stlsoft/view/transforming/member_selector_view.hpp**;
+ **test/scratch/stlsoft/view/member_selector_view**;
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* **test.component.inetstl.util.uds_helpers** : ~ now works correctly for both Linux and macOS (#112)
* GCC compatibility
* Brought over several test programs exercising C APIs: (#114)
* + brought over several test programs exercising C APIs:
* **test.component.winstl.filesystem.memory_map_functions.C**;
* **test.scratch.stlsoft.conversion.itoslice**;
* **test.scratch.unixstl.system.get_console_width**;
* **test.scratch.winstl.diagnostics.output_debug_line.C**;
* **test.unit.comstl.string.BSTR_functions.C**;
* **test.unit.comstl.util.GUID_functions**;
* **test.unit.comstl.util.VARIANT_functions**;
* **test.unit.stlsoft.memory.C.STLSOFT_C_AUTO_BUFFER**;
* **test.unit.winstl.diagnostics.output_debug_line.C**;
* ~ miscellaneous fixes and code formatting
* ~ formatting and case
* + adding in missing CMake files for new C component/unit tests
* ~ minor mods
* **run_all_scratch_tests.sh** : + now accepts '--verbosity' option
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* `stlsoft::auto_buffer<>#resize()` changed semantics (#113)
* ~ preparatory refactoring
* `stlsoft::auto_buffer<>` : ~ trivial preparatory mods
* `stlsoft::auto_buffer<>` : ~ preparatory refactoring
* `stlsoft::auto_buffer<>` : ~ changed semantics insofar as the size of external allocation is maintained such that shrinking and then regrowing may be done within the existing allocation
* GCC warnings
* **run_all_scratch_tests.sh** : + now accepts '--verbosity' option
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* C++<20 compatibility
* MinGW compatibility (#115)
* GCC 14.2 (Fedora) compatibility (#116)
* GCC (14.2) compatibility
* C++<17 (GCC) compatibility
* ~ misc changes
* Merged 'dev' into 'dev-gcc_14_2_fedora'
Squashed commit of the following:
commit 8699ee1567e6cd798d9a30cf23d91bd8ff7d788d
Author: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Date: Sat May 31 13:24:25 2025 +1000
MinGW compatibility (#115)
---------
Co-authored-by: Matt Wilson <matthew@synesis.com.au>
* release information
* ~ updated TODO
* release information
---------
Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
Co-authored-by: Matt Wilson <matthew.wilson.synesis@gmail.com>