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
810f40becf
Add a quote from the standard
2015-08-30 16:33:39 -04:00
Beman
efe50fad52
Work issue, but no fix yet
2015-08-30 16:32:44 -04:00
Beman
90517e4596
Fix #11447 , __OpenBSD__ macro name misspelled, by applying a patch submitted by Jasper Lievisse Adriaanse.
2015-08-29 10:13:36 -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
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
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
Adrien Destugues
3a02e54625
haiku: don't crash because of unsupported locale in libstdc++
...
See https://svn.boost.org/trac/boost/ticket/4688
We do the same as on Mac OS X and assume the filesystem uses utf-8.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com >
2015-03-17 22:26:31 +00: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
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
0041ea9646
Removed unused codecvt buffer size definitions long since moved to path_traits. Quiets clang warning.
2014-09-04 09:13:57 -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
5b4e1b5580
Remove comments about mutexes. They are a distraction and less relevant as C++11 support becomes widespread.
2014-08-18 09:01:16 -04:00
Beman
35096ca056
Add 9219.cpp plus infrastructure and path.cpp logging
2014-08-17 10:55:01 -04:00
Beman
8ef629c906
Add __OpenBSD__ to the operating systems that "expect their string parameters to be in UTF-8 encoding and nothing else." Fixes #8352
2014-08-06 12:24:44 -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
fcb9600f91
Merge updates from Beman's Github repo. Unstable.
2014-07-09 14:47:13 -04:00
Beman
b1b1cea3c4
Rename relative to lexically_relative. Add semi_canonical() and relative().
2014-05-29 15:42:11 -04:00
Beman
aa89af3387
Add test cases, correct typo
2014-05-05 14:23:59 -04:00
Beman
7cfff1821e
initial implementation of relative().
2014-05-05 11:54:27 -04:00
Beman
0ddac9e962
Jürgen Hunold reports 'colon' const causes clang warning because it isn't used. Closes pull request #2
2014-05-01 17:34:47 -04:00
Beman Dawes
7bb19f9604
Add FreeBSD support. Fix #4688
...
[SVN r83083]
2013-02-22 14:32:50 +00:00
Beman Dawes
f74de6c268
Revert mutex locking attempt. VC++ static builds failed in the C runtime because Microsoft staticly initializes some stuff that should be dynamically initialized.
...
[SVN r83034]
2013-02-19 21:09:10 +00:00
Beman Dawes
ce4dcdac91
Add locale_mutex to prevent race condition within path_locale(), either during initialization or use.
...
[SVN r83032]
2013-02-19 21:08:14 +00:00
Beman Dawes
5311e8139d
After path.cpp mess cleanup but before adding mutex
...
[SVN r83031]
2013-02-19 21:07:52 +00:00
Beman Dawes
842f91ada2
Revert mutex locking attempt. VC++ static builds failed in the C runtime because Microsoft staticly initializes some stuff that should be dynamically initialized.
...
[SVN r83027]
2013-02-19 21:06:16 +00:00
Beman Dawes
c0f470b916
Add locale_mutex to prevent race condition within path_locale(), either during initialization or use.
...
[SVN r83022]
2013-02-19 21:04:03 +00:00
Beman Dawes
2c0d73967d
After path.cpp mess cleanup but before adding mutex
...
[SVN r83021]
2013-02-19 20:39:26 +00: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
1207aac116
filesystem: Move compare() implementation to path.cpp, thus clearing gcc warning about header implementation of class with dll interface.
...
[SVN r78006]
2012-04-16 13:36:28 +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
Daniel James
a77e191a25
Use full filesystem namespace as there isn't an alias at this point.
...
[SVN r59709]
2010-02-16 22:33:27 +00:00
Beman Dawes
9beb3923e1
Fix #3928
...
[SVN r59695]
2010-02-15 21:23:05 +00:00
Beman Dawes
0858d28868
Filesystem: fix #1452
...
[SVN r52383]
2009-04-14 13:27:44 +00:00
Beman Dawes
5a43bcd288
Add #include <cwchar> to fix ticket #1589
...
[SVN r46481]
2008-06-18 15:55:53 +00:00
Beman Dawes
959dfd8ab7
clear # 1230, mbstate uninitialized
...
[SVN r41357]
2007-11-25 15:08:28 +00:00
Beman Dawes
85ed046d40
Turns out the --dep_name errors were due to functions in the wrong namespace (Chris Kohlhoff)
...
[SVN r39553]
2007-09-26 17:48:27 +00:00
Beman Dawes
ac94c31ac1
POSIX fix from Neal Becker
...
[SVN r39220]
2007-09-12 18:31:25 +00:00
Beman Dawes
969eb8a6c0
Posix and Linux fixes
...
[SVN r39174]
2007-09-09 17:48:17 +00:00