62 Commits

Author SHA1 Message Date
Peter Dimov
1290dfa1dc Add #include <boost/next_prior.hpp>; no longer in utility.hpp 2017-12-02 03:59:46 +02:00
Beman
2f4b634c0c Add some stem() and extension() test cases 2016-11-02 17:03:03 -04: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
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
5610f974be Merge branch 'feature/relative2' into develop 2015-09-04 15:24: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
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
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
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
dc794ea95b Merge branch 'feature/relative' into feature/relative2 2015-08-06 08:08:46 -04: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
bf1339e282 Remove use of <boost/test/prg_exec_monitor.hpp>. It has caused trouble for years, and I'm tired of fighting with it. The last straw was adding a Cygwin gcc toolset, only to have <boost/test/prg_exec_monitor.hpp> fail to link. Change to always use <boost/detail/lightweight_main.hpp>, which is trouble-free. 2014-08-06 12:16:06 -04:00
Beman
750a82e20d Revert "Merge branch 'develop' of github.com:boostorg/filesystem into develop"
This reverts commit 4610afc49e9c94bdc084cb13cceeec5912326dc6, reversing
changes made to 6623bde4fe501258a54746273ac337e3d55a6710.
2014-08-05 09:16:57 -04:00
Beman
99a94662b2 Merge branch 'develop' into ts-develop
Conflicts:
	include/boost/filesystem/operations.hpp
	test/operations_test.cpp
2014-07-22 20:55:58 -04:00
Beman
065f7b7948 Fix linking and namespace boo boos. All test/msvc/filesystem.sln tests now pass. 2014-07-10 15:21:02 -04:00
Beman
e59aecbcbe Update the tests. Unstable. 2014-07-09 08:57:45 -04:00
Beman
aa89af3387 Add test cases, correct typo 2014-05-05 14:23:59 -04:00
Beman Dawes
08c11663d9 Fix #7239, Stack overflow when calling create_directories(":D"). The reported problem was a symptom of an internal bug that caused path::filename() and path::parent_path() to fail on Windows for path(":"), and that in turn caused other functions that depend on filename() or parent_path() to fail, such as create_directories().
[SVN r80279]
2012-08-28 12:57:02 +00:00
Beman Dawes
6115c31640 Filesystem: Fix #6819; A path operand with a source that was a one character array was treated as empty, even if it wasn't empty. Such arrays can occur and be non-empty in unions or in code using C variable length array idioms.
[SVN r78136]
2012-04-22 15:07:08 +00:00
Beman Dawes
21ec949654 filesystem testing change: use <boost/test/prg_exec_monitor.hpp> by default, define BOOST_LIGHTWEIGHT_MAIN to use <boost/detail/lightweight_main.hpp>. This gives us the better exception reporting of <boost/test/prg_exec_monitor.hpp> but provides easy fallback to <boost/detail/lightweight_main.hpp> if desired.
[SVN r78057]
2012-04-18 01:31:53 +00:00
Beman Dawes
d99c7f051a Add a test case for 6690
[SVN r78005]
2012-04-16 13:01:30 +00:00
Beman Dawes
da4f223c5b Fix #6690 and #6737, resolving static linking related problems with VC++ 8 through 11. Note that this fix may reintroduce codecvt thread safety problems #4889, #6320, for these compilers if static linking is used.
[SVN r78000]
2012-04-15 20:34:19 +00:00
Beman Dawes
82c5b7533b Fix #4065, Boost Filesystem lexicographic path comparison inconsistent. The fix included adding path::compare functions, and cleanup and refactoring of the path relational operators code. Some of the code fixed is used by other functions, so some unrelated bugs may also have been fixed.
[SVN r77669]
2012-03-31 15:53:24 +00:00
Beman Dawes
494b34027e Fix #5118, replace_extension doesn't work as specified in documentation
[SVN r77571]
2012-03-26 21:19:36 +00:00
Beman Dawes
7941871477 Filesystem - Delete v3 directories no longer needed. Cleanup links, namespaces, and other residue from dual v2/v3 support.
[SVN r77555]
2012-03-26 12:44:24 +00:00
Beman Dawes
16099b4c7d Filesystem - Move V3 files and directories into place
[SVN r77554]
2012-03-26 12:31:06 +00:00
Beman Dawes
fa515c07f5 Move files into new v2 + v3 directory structure
[SVN r62653]
2010-06-09 13:00:15 +00:00
Beman Dawes
91715967a5 Upgrade system and filesystem to conform system_category and generic_category interface to N3090, the current C++0x working paper, section 19.5, System error support.
Refactor API macros into a new header, boost/system/api_config.hpp.

Prohibit user definition of API macros. Rationale: ensure all translation units use same definitions, cut number of environments that need to be tested.

[SVN r62313]
2010-05-30 15:38:32 +00:00
Beman Dawes
f0a2284419 Fix #3385, add test cases
[SVN r56139]
2009-09-10 17:25:20 +00:00
Beman Dawes
594e0c5d8e Filesystem: add basic_path::clear() to fix #3186, clear() missing
[SVN r54055]
2009-06-18 15:48:19 +00:00
Beman Dawes
7bc9e5db73 Filesystem: fix #3008, improving namespace discipline to avoid naming conflicts with the C++0x std library.
[SVN r52922]
2009-05-11 19:51:44 +00:00
Beman Dawes
0645bc1347 System, Filesystem: remove boost/detail/test_framework.hpp; use boost/detail/lightweight_test.hpp instead (Thanks to Peter Dimov for pointing this out)
[SVN r51966]
2009-03-25 12:11:47 +00:00
Beman Dawes
ae30e53a68 Filesystem: remove dependency on Boost.Test
[SVN r51959]
2009-03-24 15:33:31 +00:00
Beman Dawes
dff8252505 Filesystem: path operator==, !=; use string comparison rather than !(lhs < rhs) && !(rhs < lhs) because the result is the same yet the direct string compare is much more efficient than operator<, which uses lexicographical_compare.
[SVN r50674]
2009-01-19 18:38:28 +00:00
Beman Dawes
0bd0323239 Filesystem: fix #1840, including adding test cases and updating docs
[SVN r50543]
2009-01-11 16:50:06 +00:00
Beman Dawes
e22eb55f69 Boost.Filesystem: change tests to define BOOST_FILESYSTEM_NO_DEPRECATED. Expand deprecated_test.
[SVN r48463]
2008-08-29 20:10:08 +00:00
Beman Dawes
fb65347b54 After extensive discussion on the list with Dave Abrahams, Vladimir Prus, and others, rename basic_path::leaf() -> filename, branch_path -> parent_path, replace_leaf -> replace_filename. Add basic_path member functions stem, extension, replace_extension.
[SVN r47181]
2008-07-07 12:20:04 +00:00
Beman Dawes
49f6e3cfd7 Merge system and filesystem branches, bringing them in sync with N2415. Several filesystem bugs fixed, and current_path setter added.
[SVN r39173]
2007-09-09 14:59:10 +00:00
Beman Dawes
2045be22d6 Bring into compliance with N2066, TR2 Diagnostics Enhancements. Tests passing on Win32, Linux, on most modern compilers.
[SVN r35823]
2006-11-03 16:57:30 +00:00
Beman Dawes
579ff6dbad add test case that user claims failed in prior version
[SVN r33043]
2006-02-20 21:34:32 +00:00
Beman Dawes
040c9372b3 Bring into sync with WG21/D1934=06-0004
[SVN r32532]
2006-02-03 20:59:04 +00:00
Beman Dawes
48d4335bfc merge from i18n branch - at last!
[SVN r32079]
2005-12-16 16:40:35 +00:00
Beman Dawes
43024b73a5 add forgotten native in new test cases
[SVN r31841]
2005-11-30 22:48:01 +00:00
Beman Dawes
31b3d70c7d add fixes and tests for c:foo directory iteration bug 1259176
[SVN r31821]
2005-11-29 15:35:23 +00:00
Beman Dawes
4a4bc5320b Add native test case for c++, which someone claimed was failing (but apparently isn't)
[SVN r27420]
2005-02-19 02:18:39 +00:00
Stefan Slapeta
4c75d616cf Replaced BOOST_TEST
[SVN r27048]
2005-02-03 10:54:24 +00:00
Beman Dawes
7a0018fd9b fix 2 cases where on Windows a backslash was not equivalent to a forward slash
[SVN r26184]
2004-11-11 16:38:21 +00:00
Beman Dawes
30b78770ef Add test case from Angus Leeming, fix bug spotted while adding test
[SVN r25122]
2004-09-15 15:59:27 +00:00
Beman Dawes
44c08bc4eb add relational operators
[SVN r22498]
2004-03-14 17:53:45 +00:00