Beman
|
76e4a2be51
|
Add status query overloads. Add tests.
|
2016-04-16 09:34:55 -04:00 |
|
Beman
|
8e45877b72
|
Drive-by fix: add comment as header for space_info
|
2016-02-21 05:56:32 -05:00 |
|
Beman
|
86b99b7a2d
|
First signs of life, albeit with many tests disabled.
|
2016-02-20 17:00:06 -05:00 |
|
Beman
|
d395d79c93
|
Work-in-progress: code compiles, but with many TODO's. Some tests pass.
|
2016-02-19 09:57:12 -05:00 |
|
Beman
|
db3f812620
|
Initial commit for this branch. A prior attempt (branch new_directory-entry) got bogged down by trying to do too much at once. So start this branch off by simply adding a file_size(const directory_entry&) overload that forwards to file_size(const path&). If that doesn't work, the premise that implementation details of directory_iterator caching can be hidden by overloading operational functions is flawed, so test the overloading before getting into the cache implementation.
|
2016-02-18 10:41:10 -05: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
|
06968ee032
|
Fix pull request 17, 'some_function() noexcept = default;' from Antony Polukhin, by never relying on "= default". Antony's pull request would have fixed the problem interaction with noexcept by eliminating the noexcept. I preferred to retain the noexcept rather than the "= default", as applying "= default" has been exceedingly troublesome for both VC++ and GCC due to interactions between the two C++11 features. GCC interactions varied not just for the version, but also for the platform.
|
2015-10-08 07:19:55 -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 Dawes
|
719fc1f18d
|
Merge pull request #16 from MarcelRaad/patch-1
Remove unused deprecated include
|
2015-09-16 15:28:00 -04:00 |
|
Beman
|
f4644ef881
|
Define BOOST_FILESYSTEM_NO_CXX11_DEFAULTED_RVALUE_REFS for GCC <= 4; GCC 4.8.5 was failing on FreeBSD although not on other platforms. Since move semantics is an optimization, it doesn't break anything to be conservative.
|
2015-09-15 07:38:28 -04:00 |
|
Marcel Raad
|
53c502cb47
|
Remove unused deprecated include
The comment in boost/iterator.hpp mentions that the file is obsolete and will be deprecated, and it is not used anyway.
|
2015-09-13 21:40:29 +02:00 |
|
Beman
|
9befbd2448
|
Fix bug in file_status and recursive_directory_iterator: C++ turns an explicit constructor with all arguments except first defaulted into non-explicit single argument constructor.
|
2015-09-12 09:27:39 -04:00 |
|
Beman
|
2d4035269b
|
Add GCC 4.4 to compilers that did not support defaulted rvalue refs.
|
2015-09-11 15:11:46 -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
|
9d5415d579
|
Add move constructor, move assignment, where called for in Filesystem TS.
|
2015-09-06 21:18:01 -04:00 |
|
Beman
|
353851e144
|
First pass of applying BOOST_NOEXCEPT. For recursive_directory_iterator only, began process of supporting both old and new names for functions whose name changed in the Filesystem TS. Planning started for adding move constructors and move assignments per the TS.
|
2015-09-06 08:30:58 -04:00 |
|
Beman
|
1c82e5d39e
|
Apply BOOST_NOEXCEPT, and a few other drive by corrections.
|
2015-09-05 17:55:14 -04:00 |
|
Beman
|
5610f974be
|
Merge branch 'feature/relative2' into develop
|
2015-09-04 15:24:22 -04:00 |
|
Beman
|
8cd5522161
|
Initial implementation and docs for path::reverse_iterator.
|
2015-09-04 11:25:22 -04:00 |
|
Beman
|
efe50fad52
|
Work issue, but no fix yet
|
2015-08-30 16:32:44 -04:00 |
|
Beman
|
0ab46a3315
|
Fix #9454, Boost Filesystem [library build] not compiling when BOOST_FILESYSTEM_NO_DEPRECATED is defined, by applying a patch submitted by Makesim
|
2015-08-29 09:57:09 -04:00 |
|
Beman
|
23759ba8ec
|
Add lexically_proximate and proximate functions.
|
2015-08-25 15:05:17 -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
|
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
|
2101376680
|
Replace tail recursion with iteration.
|
2015-08-09 09:53:05 -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
|
9706dbb9b1
|
Revert "Change the name of path::relative to path::relative_to to distinguish it a bit from path::relative_path."
This reverts commit d5fb8323f8.
Leave possible renaming for bikeshed discussions. KISS.
|
2015-08-08 05:44:30 -04:00 |
|
Beman
|
d5fb8323f8
|
Change the name of path::relative to path::relative_to to distinguish it a bit from path::relative_path.
|
2015-08-07 16:50:47 -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
|
eb9cac384e
|
Edit comments to clarify dependencies.
|
2015-01-10 11:35:47 -05:00 |
|
Beman
|
c0b5754ab8
|
Fix ticket #10388, an occasional failure of temp_directory_path to deal correctly with the trailing separator. A path member function remove_trailing_separator() was added publicly since this may be useful to users.
|
2015-01-10 09:31:44 -05:00 |
|
Beman
|
bb5a0ff09d
|
Clear warnings, including new warnings from VC++ 2015 preview.
|
2015-01-05 10:34:24 -05:00 |
|
Beman
|
0dfb7171fb
|
Finalize issue reporting before requesting comments. Also fix some inspect issues.
|
2014-12-29 09:18:12 -05:00 |
|
Beman
|
490c2c3298
|
For all path_traits convert() and dispatch() functions provide two overloads, one with a "const codecvt_type&" argument, and one without. The overload without a codecvt argument calls path::codecvt() iff a conversion actually needs to be performed. Change all uses of path_traits convert() and dispatch() functions call the appropriate overload, rather than calling with path::codecvt() as a default. This limits the impact of locale("") initialization failures on Linux and other non-BSD POSIX systems to programs that actually depend on locale(""). It further ensures that exceptions thrown as a result of such failures occur after main() has started, and so can be caught.
|
2014-10-27 19:20:17 -04:00 |
|
Beman
|
1262a9f0d2
|
Fix C++03 compile failures for previous commit.
|
2014-10-24 11:46:50 -04:00 |
|
Beman
|
d57509c558
|
For compiled operational function detail::copy_file, pass detail::copy_options, a plain-old enum, rather than a BOOST_SCOPED_ENUM. We cannot pass a BOOST_SCOPED_ENUM to a compled function because it will result in an undefined reference if the library is compiled with -std=c++0x but the use is compiled in C++03 mode, or vise versa. Fixes tickets #6124, #6779, and #10038.
|
2014-10-24 10:58:42 -04:00 |
|
Beman
|
76d209567f
|
Refactor dot_path and dot_dot_path into functions, to prevent path constructor being called before main() starts. In theory that is harmless when path::value_type is the same as value_type of the ctor Source, but eliminating it simplifies reasoning about program correctness.
|
2014-08-22 11:31:42 -04:00 |
|
Beman
|
4d64f34c01
|
Add non-const overloads for the value_type and string_type to avoid calling codecvt(). Fixes ticket #9219.
|
2014-08-17 09:22:32 -04:00 |
|
Beman
|
750a82e20d
|
Revert "Merge branch 'develop' of github.com:boostorg/filesystem into develop"
This reverts commit 4610afc49e, reversing
changes made to 6623bde4fe.
|
2014-08-05 09:16:57 -04:00 |
|
Beman
|
4635e93d02
|
Add move semantics to file_status per DTS. Fix incorrect synonym in perms. Add file_status constructor test cases.
|
2014-07-24 15:38:48 -04:00 |
|
Beman
|
f0ce9bd649
|
Missed a few perms value changes that were on next DTS page.
|
2014-07-23 15:58:04 -04:00 |
|
Beman
|
038bce7e2d
|
DTS: enum perms changed to enum class perms. Constant names have changed; synonyms provided.
|
2014-07-23 15:35:44 -04:00 |
|
Beman
|
21a66a331a
|
Update enum class file_type constant values per DTS.
|
2014-07-23 14:16:53 -04:00 |
|
Beman
|
98b29a72e5
|
Fix-up of prior merge conflict resolution from develop.
|
2014-07-23 09:39:26 -04:00 |
|