Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-12-16 03:05:41


Beman Dawes wrote:
> A large number of changes to the Filesystem Library have been committed
> to the CVS main trunk.

Hi Beman,

I've some comments:

1. The name 'root_directory' is confusing for me. 'directory' implies
    you can stick anywhere dir there, whilie only "/" is allowed.
    Unfortunetely, nothing better comes to mind.

2. Docs for 'root_directory' say

     Returns: If the path contains root-directory, then string(""), else
               string().

     Portably provides a copy of a path's root-directory, if any. The only
          possible results are "/" or "". See Path decomposition examples.

Those paragraphs contradict each other. One says "/" return is not possible,
and the other says it is.

3. Docs still use "is_null" in many places.

4. Docs for 'create_directory' don't say what happens if directory_ph is
empty. Consider

      path p(.....) ;
      create_directory(p.branch_path());

I'd personaly prefer if create_directory do nothing when given empty path.
Now it gives "No such file or directory" error from mkdir.

Docs for the same function mention function "branch", which does not exist:

     if exists(directory_ph)) || !exists(branch(directory_ph))
                                         ^^^^^^

5. Docs for 'remove', last paragraph:

      "threw and exception" should probably be "threw an exception"

6. Would it be reasonable to introduce a function "create_directories",
      similiar in spirit to "remove_all"? That function would create
      intermediate directories, not only the leaf one.

That's all I could spot looking at docs. Maybe, I'll come with more
issues after practical use.

- Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk