do_list.html 5.8 KB

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