Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-12-23 15:18:10


At 03:06 AM 12/23/2002, Vladimir Prus wrote:

>>...
>>
>> doc/convenience.htm is just a shell; I'm hoping you'll add
>> create_directories() docs.
>
>Added.

Thanks! Looks nice!

>> There needs to be some kind of precondition. Maybe:
>>
>> !exists(ph) || is_directory(ph)
>>
>> but it is more complicated than that. Say you code:
>>
>> create_directories( "xx/yy/zz" );
>>
>> If zz doesn't exist, and xx/yy does, then xx/yy has to be a directory;
>> xx/yy can't be a file. I'm not sure how to express a recursive
>> precondition.
>
>I've writted that using "forall", as mathematicians do. Hope this makes
>sense. Please take a look at the docs. I've had to use "is_parent"
>function, which does not exists, but hopefully the meaning is clear.

Seems clear enough for practical purposes.

>
>> create_directory("/").
>
>To begin with, what's this? More concrete question --- is this
>empty relative path with trailing "/" or empty root name,
>followed by root directory, and then empty relative path?
>
>If this is the latter case, then... "/" is a directory and it
>most surely exists. See no problem there --- preconditions are
>satisfied.

I meant it to be a mistaken attempt to create the root directory. The way
you have written the preconditions and postconditions makes it clear that
it is harmless.

Thanks again,

--Beman


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