Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2008-05-29 11:13:06


Johan Råde wrote:
> Beman Dawes wrote:
>> Johan Råde wrote:
>>> David Abrahams wrote:
>>>> I was just reviewing the filesystem docs and came across "leaf()". I'm
>>>> sure this isn't the first time I've seen it, but this time I picked up a
>>>> little semantic dissonance. Normally we think of "leaf" in the context
>>>> of a tree as being a thing with no children. An interior node like a
>>>> directory that has files or other directories in it is usually not
>>>> called a "leaf." I wonder if this is the best possible name?
>>>>
>>>> Is there a precedent we can draw on in some other language/library? In
>>>> python, it's os.path.basename(p). Perl, php, and the posix basename
>>>> command seem to do something similar.
>>>>
>>> David is absolutely right.
>>>
>>> The name leaf is the result of conceptual confusion,
>>> failure to distinguish between the tree structure of the file system
>>> and the linear structure of a path.
>>>
>>> If possible, at this late stage, the names should be changed.
>> Why don't you and Dave come up with a proposed set of names? The current
>> names are:
>>
>> root_path
>> root_name
>> root_directory
>> relative_path
>> leaf
>> branch_path
>> basename
>> extension
>
> I think all these names are fine except "leaf" and "branch_path".
> If anyone asked me "What does the function branch_path return?",
> I would answer "The parent directory."
> So why not call it parent_directory_path?

Or just parent_path(). That's an interesting suggestion, thanks!

--Beman


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