
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 For examples, see http://www.boost.org/doc/libs/1_35_0/libs/filesystem/doc/reference.html#Path... --Beman