Beman Dawes
cbefb2b9f0
Merge pull request #30 from thtrummer/develop
...
Fix warning, build error, for GCC under Cygwin
2016-11-23 10:46:37 -05:00
Beman
216720de55
Fix #12495 , create_directories() crashes when passed empty string as path, from Samantha Ritter. Also affected create_directory(). Charles Olivi submitted a pull request with some particularly helpful test cases.
2016-11-23 09:58:43 -05:00
Beman
5004d7b177
Fix #12578 - Bug in directory_iterator, recursive_directory_iterator, equality testing of copied iterator also at end.
2016-11-23 09:21:32 -05:00
Beman
48faf2b1ee
Add deprecated path::generic()
2016-11-22 16:51:45 -05:00
Beman
2f4b634c0c
Add some stem() and extension() test cases
2016-11-02 17:03:03 -04:00
Thomas Trummer
e4d01fc006
Fix build error when using C++11 under Cygwin
...
http://www.boost.org/development/tests/develop/developer/output/timber-cygwin-boost-bin-v2-libs-filesystem-test-operations_test-test-gcc-5-4-0-debug.html
(Assuming the #ifdef is a copy & paste error)
2016-07-05 11:33:12 +02:00
Felix Bruns
fcb98ee37e
Rename generic() to generic_path(), since generic is a keyword in C++/CX.
...
When using Boost.Filesystem from a project compiled as C++/CX code,
compilation fails with a syntax error, because generic is a keyword.
error C2059: syntax error: 'generic'
See section "Generic interfaces" in C++/CX here:
https://msdn.microsoft.com/en-us/library/hh755792.aspx
2016-04-27 14:11:08 +02:00
Beman
2f6391b931
Add class path constexpr constants separator and dot of the type appropriate for the platform, and add class path member query functions filename_is_dot() and filename_is_dot_dot(). These add convenience and the implementations may be more efficient that user coded equivalent functions. Also add detail functions is_directory_separator() and is_element_separator(), and replace all uses of local is_separator() in path.cpp with detail::is_directory_separator().
2015-12-01 10:17:45 -05:00
Beman
3c344a5f0b
Revert to lexical functions back to being members of class path. This is not the time to redesign the library's lexical vs operational conventions. It would break existing users mental model of lexical vs operational.
...
See doc/relative_proposal.html#Add-lexical-functions for additional rationale.
2015-10-25 13:28:49 -04:00
Beman
fb365908ad
Clear GCC warnings.
2015-10-08 05:03:51 -04:00
Beman
c026d612f2
String file feature cleanup: Add string_file.hpp to filesystem.hpp. Change string_file.hpp to use boost/filesystem/fstream.hpp for I/O. Add string_file_tests function to operations_unit_test.cpp.
2015-10-07 10:11:18 -04:00
Beman
320423af98
Added size() function to class path. Resolves #6874 , Path should have a size() member function.
2015-09-08 16:46:05 -04:00
Beman
461118d68c
Remove debug stmts that should have been removed by prior commit.
2015-09-08 16:21:01 -04:00
Beman
40526c67f2
Clean up some minor cygwin test problems.
2015-09-08 15:40:25 -04:00
Beman
9d5415d579
Add move constructor, move assignment, where called for in Filesystem TS.
2015-09-06 21:18:01 -04:00
Beman
8ad0258405
Tweak configuration.
2015-09-04 15:28:11 -04:00
Beman
5610f974be
Merge branch 'feature/relative2' into develop
2015-09-04 15:24:22 -04:00
Beman
a6900bf517
Update release history and add tests.
2015-09-04 13:41:20 -04:00
Beman
8cd5522161
Initial implementation and docs for path::reverse_iterator.
2015-09-04 11:25:22 -04:00
Beman
e6d10cf716
Fix #10766 , parent_path() with redundant separator returns wrong value, by adding examples and notes to the reference documentation to show why the returned value is in fact correct, and to provide rationale for that behavior. See [path.itr], and [path.decompose] parent_path() and filename() sections of the reference docs.
2015-09-03 10:44:20 -04:00
Beman
011522bd42
Fix #7258 , create_directories returns false if the path ends with a slash. Also fix related issues if path contains dot or dot-dot elements, and add test cases to the test suite.
2015-09-02 08:24:41 -04:00
Beman
a2d4f99cc8
Resolve #11166 by mitigating (i.e. reducing the likelihood of) a possible external file system race in remove(), using a slight refinement of the patch supplied by Jeff Epler. Made no attempt to fix or mitigate the thread data race in the test program provided.
2015-09-01 11:34:24 -04:00
Beman
f6aa067256
Minor code and comment tweaks.
2015-08-31 10:23:41 -04:00
Beman
2b019a8483
Fix #11288 A patch to avoid redundant string allocations
2015-08-30 16:44:27 -04:00
Beman
efe50fad52
Work issue, but no fix yet
2015-08-30 16:32:44 -04:00
Beman
23759ba8ec
Add lexically_proximate and proximate functions.
2015-08-25 15:05:17 -04:00
Beman
27f8e5fd6a
Minor tweaks.
2015-08-25 11:04:21 -04:00
Beman
732609a2da
Change member normal() and relative() to non-member lexically_normal() and lexically_relative(). See doc/relative_proposal.html#Add-lexical-functions-as-non-members for rationale.
2015-08-23 09:33:21 -04:00
Beman
c739cee694
Apply normal() to weakly_canonical results, but only when know to be needed or it is not known if it may be needed.
2015-08-19 08:43:36 -04:00
Beman
b54092e66f
Simplify expressions and remove accumulated cruft.
2015-08-13 09:01:59 -04:00
Beman
cb11081a7d
Finish initial proposed wording section of relative_proposal.html. Drive-by tweaks to other stuff. Add example/directory_symlink_parent_resolution.cpp, include/boost/filesystem/string_file.hpp, and related infrastructure.
2015-08-12 17:26:03 -04:00
Beman
fe71dc8729
Fix test where Windows and POSIX results differ
2015-08-10 08:34:22 -04:00
Beman
f5da08da74
Initial commit.
2015-08-10 08:15:24 -04:00
Beman
a7ac4c088f
Add relative_test to Jamfile, fix Cygwin/GCC C++03 enum constant usage error.
2015-08-10 08:09:48 -04:00
Beman
7d6429554a
Bring operational functions weakly_canonical() and relative() up to production quality: move implementations to operations.cpp, add error handling, replace tail recursion with iteration, rename weak_canonical to weakly_canonical. The weak_canonical name grated on me every type I used it.
2015-08-10 07:10:59 -04:00
Beman
34dd2c7718
Add a new path member function: "path normal() const;" and change the old deprecated normalize() non-const function to be implemented in terms of the new function. The implementation remains the same, except for returning by value rather than modifying in place. Motivation: Jamie Alsop has identified removal of redundant .. and . elements (i.e. normalization) as a need closely related to the relative path functionality requested by numerous Boost issue requests, the C++ LWG, and NB comments to the Filesystem TS. Given that both lexical and operational relative functionality is needed, there is less risk in providing a well-documented path::normal() lexical function.
2015-08-08 16:29:44 -04:00
Beman
6e92c9a8b2
Add experimental path::generic() function returning generic formatted (i.e. separators are forward slashes). Motivation: may be simpler than having a family of generic_*string functions.
2015-08-08 12:11:35 -04:00
Beman
5b8b9db1c9
Cleanup missed edits.
2015-08-08 06:18:08 -04:00
Beman
8a8c8abecc
Rename semi_canonical() to weak_canonical. The STL uses "weak" to denote reduced requirements.
2015-08-08 05:56:55 -04:00
Beman
6da5f657fb
Remove lexically_relative() free function. Add path::rel
2015-08-07 16:41:06 -04:00
Beman
dc794ea95b
Merge branch 'feature/relative' into feature/relative2
2015-08-06 08:08:46 -04:00
Beman
f35a14e004
Add copy_file-compilation-error-2015-05-04.cpp
2015-05-24 08:20:45 -04:00
Beman
1c104ba10f
Add issue tests for 4329, 5300, 10205
2015-03-27 20:01:52 -04:00
Beman
706cf988a9
Revise get_temp_directory() test cases. Drive-by warning removal and partial fix for TortoiseGit-related test harness crashes.
2015-02-03 12:11:44 -05:00
Beman
a89b7af83a
Comment out test case until fix is applied. Drive by fix of two curly brace errors that happened to cancel each other out.
2015-01-31 08:56:07 -05:00
Beman
96d5cdda3b
Remove test_folder. Content is now in branch test-files/utf-8, so that master and develop conform to Boost file naming policy.
2015-01-11 17:55:55 -05:00
Beman
bb5a0ff09d
Clear warnings, including new warnings from VC++ 2015 preview.
2015-01-05 10:34:24 -05:00
Beman
f17852e98d
Add test case described in ticket #4611 . Behavior checked against the TS, and is working as specified. Closed the ticket as "wontfix", since there is no implementation defect.
2014-12-30 18:09:16 -05:00
Beman
9fd93a2008
Fix ticket #7018 , operations_test.cpp does not correctly use setenv, including the suggested setenv* void fix. Added comment explaining choice of void fix rather than _putenv fix.
2014-12-30 11:59:53 -05:00
Beman
0dfb7171fb
Finalize issue reporting before requesting comments. Also fix some inspect issues.
2014-12-29 09:18:12 -05:00