4 <meta http-equiv=
"Content-Language" content=
"en-us">
5 <meta name=
"GENERATOR" content=
"Microsoft FrontPage 5.0">
6 <meta name=
"ProgId" content=
"FrontPage.Editor.Document">
7 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8">
9 <style type=
"text/css">
10 body { font-family: sans-serif; margin:
1em; }
11 p, td, li, blockquote { font-size:
10pt; }
12 pre { font-size:
9pt; }
18 <h1>Boost Filesystem Do List
<br>
19 <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->24 June
2010<!--webbot bot="Timestamp" endspan i-checksum="17552" --></h1>
21 <h2>Beta
1 comments
</h2>
25 <p dir=
"ltr">Zach Laine:
</li>
28 <pre dir=
"ltr">The descriptions for portable_name() and portable_directory_name()
31 portable_name() : ...
&& (name is
".
" or
"..
", and the first character
32 not a period or hyphen)
34 portable_directory_name(): ...
&& (name is
".
" or
"..
" or contains no periods)
36 Should portable_name() be
"...
&& (name is
".
" or
"..
", or contains no
37 periods)
&& (first character not a hyphen)
"?
Maybe I'm missing
42 <p dir=
"ltr">Scott McMurray - treat as Wish List:
</li>
45 <pre dir=
"ltr">- uncomplete(p, base)
47 My pet request.
It may be useful to simplify other functions as well,
48 since there's no current way to go from an absolute path to a relative
49 one, meaning that most functions need to handle relative ones even
50 when that might not be natural.
With this functionality,
51 preconditions requiring absolute paths would be less onerous.
53 Precondition: p.is_absolute()
&& base.is_absolute()
55 Effects: Extracts a path, rp, from p relative to base such that
56 canonical(p) == complete(rp, base).
Any
"..
" path elements in rp form
59 Returns: The extracted path.
61 Postconditions: For the returned path, rp, rp.is_relative() ==
62 (p.root_name() == b.root_name()).
64 [Notes: This function simplifies paths by omitting context.
It is
65 particularly useful for serializing paths such that it can be usefully
66 moved between hosts where the context may be different, such as inside
67 source control trees.
It can also be helpful for display to users,
68 such as in shells where paths are often shown relative to $HOME.
70 In the presence of symlinks, the result of this function may differ
71 between implementations, as some may expand symlinks that others may
72 not.
The simplest implementation uses canonical to expand both p and
73 base, then removes the common prefix and prepends the requisite
"..
"
74 elements.
Smarter implementations will avoid expanding symlinks
75 unnecessarily.
No implementation is expected to discover new symlinks
76 to return paths with fewer elements.]
</pre>
78 <h2 dir=
"ltr">Docs
</h2>
80 <li>Reorganize files - delete examples that no longer apply.
</li>
81 <li>Should minimal.css be changed to used relative font sizes? See
82 <a href=
"http://www.w3schools.com/CSS/pr_font_font-size.asp/">http://www.w3schools.com/CSS/pr_font_font-size.asp\
</a></li>
83 <li>Document behavior of path::replace_extension has change WRT argument w/o a
85 <li style=
"font-size: 10pt">Document leading //: no longer treated specially.
86 But is that really correct?
</li>
87 <li style=
"font-size: 10pt">Behavior of root_path() has been changed. Change
88 needs to be propagated to trunk?
</li>
89 <li style=
"font-size: 10pt">Regenerate path decomposition table.
</li>
95 <li style=
"font-size: 10pt">Move semantics.
</li>
96 <li style=
"font-size: 10pt">Use BOOST_DELETED, BOOST_DEFAULTED, where
98 <li style=
"font-size: 10pt">Other C++
0x features.
</li>
102 <li>Windows, POSIX, conversions for char16_t, char32_t for C++
0x compilers.
</li>
103 <li>Add Windows Alternate Data Stream test cases. See http://en.wikipedia.org/wiki/NTFS
105 <li>Add test case: relational operators on paths differing only in trailing
106 separator. Rationale?
</li>
107 <li>Provide the name check functions for more character types? Templatize?
108 take a path argument?
</li>
109 <li style=
"font-size: 10pt">Add codepage
936/
950/etc test cases.
</li>
110 <li style=
"font-size: 10pt">Should UDT's be supported?
</li>
111 <li style=
"font-size: 10pt">Should path iteration to a separator result in:
<br>
112 -- the actual separator used
<br>
113 -- the preferred separator
<br>
114 -- the generic separator
<-- makes it easier to write portable code
<br>
119 <li>Would complete(), system_complete() be clearer if renamed absolute(),
120 absolute_system() (or absolute_native())?
</li>
121 <li>Review all operations.cpp code for race conditions similar to #
2925. Fix
123 <li>Enable all BOOST_FILESYSTEM_NO_DEPRECATED code.
</li>
124 <li>rename and remove names are problems. If users says
"using
125 namespace boost::filesystem
"<br>
126 and some header included stdio, there is just too much chance of silent error.
</li>
127 <li>create_directories error handling needs work.
</li>
128 <li>Fold convenience.hpp into operations.hpp
</li>
129 <li>Two argument recursive_directory_iterator ctor isn't recognizing throws().
130 Would it be better to fold into a single two argument ctor with default?
</li>
131 <li>Add the push_directory class from tools/release/required_files.cpp
</li>
134 <h3>Miscellaneous
</h3>
136 <li style=
"font-size: 10pt"><i>Regular
</i> classes need hash functions.
</li>
140 <p>© Copyright Beman Dawes,
2010</p>
141 <p>Distributed under the Boost Software License, Version
1.0. See
142 <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt
</a></p>