Boost logo

Boost :

From: Edward Diener (eddielee_at_[hidden])
Date: 2003-08-15 13:32:54


RE: [boost] Re: boost::filesystem file restrictions/blah is not an absolute path under Windows. It is relative to the current drive ( or the drive of the current directory, which is the same ). Any file system paths in Windows are absolute when specifying a drive letter, else they are relative. There is no distinguishing /foo and foo under Windows other than to say that /foo is relative to the current drive while foo is relative to the current directory. That is not to say that a generic filesystem may not want to distinguish between the two but it needs to be clarified under Windows what these mean
  "Glen Knowles" <gknowles_at_[hidden]> wrote in message news:012D0E417390D411ABD400A0C9175D80618690_at_MAIL...
  From: David Abrahams [mailto:dave_at_[hidden]]

>Yes, an absolute URI identifies a single location in the virtual name
>tree. The only way to make this like a current-drive-relative path is
>to consider processes which are moved, *during execution*, across a
>network of computers. I've never heard of systems which do that that,
>but even if they exist I don't think they make an appropriate model on
>which to define the notion of "absolute path" in a filesystem library.

  The point, and this is the only one that truly compells me, is that: http://localhost/blah and /blah are absolute URL paths. c:/blah is an absolute filepath and, to be consistent, /blah should be too. If you look at a drive as equivalent to a URL authority they map very well. You can try to argue that an authority such as "localhost" uniquely identifies a computer, but that really isn't true. It is normal for mail....com, www....com, etc to all refer to the same computer, a computer used for webhosting may have thousands of such authorities.

>> If you can give me an example of a multirooted system that refers to
>> paths that are absolute with respect to the current directory as
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>What does that mean?
>And what does it mean for a multirooted system to "refer to a path as
>relative?" Do you mean in the official platform specification, or
>something else?

  I was thinking of platform documentation, preferably an actual "is_relative()" system function. I've subsequently found enough examples to drop this as an argument.

  One thing that I hope we can agree on is that, irrespective of what they're called, we do need functions to distinguish between a:/foo, /foo, foo, and possibly a:foo.

  Glen



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