Beman
60d51ab0b9
Clear some warnings. Looking good on GCC and MSVC for Windows.
2017-10-07 15:19:35 -04:00
Beman
253105caeb
Quiet GCC warning "boost::filesystem::path::filename() const' redeclared without dllimport attribute after being referenced with dll linkage inline path path::filename() const"
2017-10-06 20:53:46 -04:00
Beman
817d05f79c
Fix bug detected by tests from Nico; root-names on Windows need to be treated specially by path::compare() because leading directory-separators may be either preferred-separator or fallback-separator. Add path_test.cpp test cases to detect this problem.
2017-10-06 10:37:32 -04:00
Beman
68bccdeb8e
Add comment to indicate relative_path() has been checked against c++17.
2017-10-05 11:30:34 -04:00
Beman
9950b03ec1
Fix a bug in create_directories() caused by change in C++17 parent_path() spec when there is no parent path. Update a couple of test cases that changed for C++17.
2017-10-04 15:42:19 -04:00
Beman
87a97600c0
Bring deprecated_test.cpp behavior into C++17 compliance.
2017-10-03 15:08:53 -04:00
Beman
88d7785f63
Change lexically_proximate() imp to more closely follow the standard. Move all remaining lexically_normal and lexically_relative tests from path_test.cpp to path_generation_test.cpp.
2017-10-03 11:48:17 -04:00
Beman
78ee622f9c
Bring expected results into compliance with C++17.
2017-10-03 11:32:55 -04:00
Beman
4544f7e4d4
Rename relative_test to path_generation_test. The old name didn't misidentified what is being tested due to function name changes during standardization.
2017-10-03 11:11:05 -04:00
Beman
a655451b29
Fix lexically_relative implementation. Correct relative_test expected results to match C++17.
2017-10-03 08:05:38 -04:00
Beman
a0c3833b95
Rewrite path::lexically_normal implementation to make the code easier to reason about and thus debug. Update path_test.cpp lexically_normal test cases to meet the C++17 standard library specification. path_test.cpp passing on Visual C++ 2017 / Windows, some other tests still failing.
2017-10-01 13:12:03 -04:00
Beman
bc599d27f1
Re-implement lexically_relative per C++17 standard.
2017-09-29 18:59:39 -04:00
Beman
06d124ea1b
Add decomposition.html, with clearer path decomposition semantics. Bring all path decomposition functions into compliance with those clearer semantics. Update tests accordingly.
2017-09-29 12:27:35 -04:00
Beman
41ae265aad
At to_generic template in hopes of cleaning up generic strings eventually. Fix bug in path::remove_filename. Continue to expand table driven tests in path_test.cpp.
2017-09-23 17:12:56 -04:00
Beman
20fda66e63
Refactor relative_path and parent_path. Note: these can be made much simpler if generic_string were implemented with a range-based API; added to TODO list. After a couple of corrections, all path_test.cpp table-driven decomposition tests now passing.
2017-09-21 08:04:25 -04:00
Beman
4005870f9c
Commit work-in-progress prior to merging into branch v4. (It is clear the class path refactoring is resulting in a cleaner, more correct implementation. So merge now even though the work is currently incomplete.)
2017-09-20 09:27:06 -04:00
Beman
e39b71be1d
Refactor path::being() implementation.
2017-09-19 08:11:18 -04:00
Beman
bd4bb0fc0c
Bring path::filename implementation into conformance with the standard. Fix bug in m_root_name_size().
2017-09-17 17:22:23 -04:00
Beman
3a19d97b5e
Bring parent_path() into std compliance. Fix decomp_table boo boos. All decomposition_table_tests() now passing.
2017-09-17 11:37:09 -04:00
Beman
1750152680
path.hpp: refactor path::has_root_name(), has_root_directory(), and has relative_path().
...
path.cpp: refactor path::root_name(), root_directory(), and root_path().
path_test.cpp: bring decomposition_table into compliance with C++ Std WP. The decomposition tests for parent_path() are now failing, indicating that code needs to be brought into std compliance. There are many traditional tests failing, but these will be reviewed later.
2017-09-17 11:24:55 -04:00
Beman
080c99c425
Unstable work-in-progress. Commit before creating path-refactor branch.
2017-09-16 17:08:48 -04:00
Beman
02914c8a14
Fix path "//" being incorrectly seen as a root-name rather than a root-directory. Tests not adjusted yet.
2017-09-14 17:32:29 -04:00
Beman
d767a3e947
Add a table driven decomposition test. The plan is to migrate a lot of the handwritten decomposition and query tests to the table driven test.
2017-09-14 17:27:22 -04:00
Beman
5652949497
Add Visual Studio project for example/path_info
2017-09-14 14:57:59 -04:00
Beman
21d390354d
Remove p.make_preferred(); it was skewing other results.
2017-09-12 13:44:16 -04:00
Beman
e13d60104f
Bring lexically_normal() into sync with C++ WP, N4687. Commit and push as backup in advance of hurricane Irma.
2017-09-10 10:56:27 -04:00
Beman
ef74d32ef8
Initial commit. Extracted from N4687.
2017-09-09 12:51:17 -04:00
Beman
d0910d003c
Merge branch 'develop' into v4 after resolving a couple of minor conflicts and retesting.
2017-09-03 11:54:36 -04:00
Beman
5229425643
reformat excessively long lines
2017-09-03 11:13:42 -04:00
Beman
07619fb370
Add Beman's local test results to aid tracking changes over time.
2017-08-24 08:00:38 -04:00
Beman
bf2f23efc5
C++17 20.4.2.1.4 [bitmask.types] complete and passing all tests.
2017-08-23 21:41:11 -04:00
Beman
a019f35df1
Unstable work-in-progress. operations.hpp updated to reflect C++17 fs.enum (with class enum's rather than workarounds). Next step is to fix the fallout from those changes.
2017-08-20 11:44:13 -04:00
Beman
be6f4d5248
Initial commit
2017-08-19 08:54:04 -04:00
Beman
be85855eb3
Rename doc/v4_plans.html to doc/v4-plans.html
2017-08-19 08:42:35 -04:00
Beman
49218481e5
Clean up some tutorial example code and fix the wording for it in the tutorial. Thanks to Anmol-Singh-Jaggi for pull request #11 .
2017-08-07 20:01:08 -04:00
Beman
23b79b9459
Clear two -Wconversion warnings
2017-04-03 09:47:32 -04:00
Beman
7fd4214912
is_empty()overload with error_code parameter should not throw on error. Thanks to ldqrk for pull request #42
2017-04-03 09:36:43 -04:00
Beman
9144a8ebd7
Update release history.
2017-04-03 08:29:00 -04:00
Beman
12bcf2e6ea
Merge branch 'Dani-Hub-develop' into develop
2017-04-02 16:44:25 -04:00
Beman
355e57f706
Upgrade to Visual Studio 2017
2017-04-02 08:00:04 -04:00
drgler
0e831d5c2d
Extended patch for ticket #10731 and ticket #9480 : Replace expensive call of RtlInitUnicodeString by wcslen and get rid of CompareStringOrdinal completely, because it has no longer any advantages. Also, replace Windows TEXT macro by selecting GetModuleHandleW with wide character argument to prevent any additional conversions.
2017-03-19 16:21:46 +01:00
drgler
14935c4c6d
Extended patch for ticket #10731 and ticket #9480 : Replace usage of non-portable _wcsicmp by appropriate Windows functions to realize a locale invariant case-insensitive binary Unicode comparison that match the underlying file name comparison.
2017-03-18 22:28:29 +01:00
drgler
755766a053
Patch for ticket #10731 and ticket #9480 : Evaluate path.extension only once, perform (case-insensitive) string comparisons using the wchar_t variants from the CRT to prevent code conversions via path.string() calls.
2017-03-14 21:46:12 +01:00
Beman
3a8554803f
Add lexically_normal cases Nico suggested we concentrate on to resolve questions about invariants
2017-03-09 14:46:34 -05:00
Beman
65cc9b6aec
Add the filename_tests() examples from the C++17 standard.
2017-02-16 09:21:46 -05:00
Beman
a2b6af6191
Tweak lexically_normal comments.
2017-02-07 07:42:09 -05:00
Beman
e5c8e732aa
Reorder and number the lexically_normal tests so that they correspond to P0492R1.
2017-02-07 07:21:25 -05:00
Beman
d466406388
Update path.cpp to meet lexically_normal c++17 specs. Add test cases, including some from Nico. Add lexically_normal output to example/path_info.cpp
2017-01-29 08:35:14 -05:00
Beman
2a367711aa
Fix a couple of POSIX invalid code problems.
2017-01-26 09:31:20 -05:00
Beman
66fe8f657b
Same fix for symlink_status_helper
2017-01-25 17:17:41 -05:00