From: David Abrahams (dave_at_[hidden])
Date: 2008-07-03 19:52:05
Bjørn Roald wrote:
> Beman Dawes wrote:
>> David Abrahams wrote:
>>> So one other option that avoids the above issues (not that I'm pushing
>>> this route) is to pick another name for what you currently call leaf().
>> Let's say branch_path() is changed to parent_path(). That suggests a
>> full set of names based on the parent/child decomposition of a path:
>> * Change branch() to parent_path()
>> * Change leaf() to child()
>> * Change basename() to child_prefix()
>> * Change extension() to child_extension()
>> At first glance, those names seem reasonable clear and self-consistent.
>> What's your take on that set?
> I am not sure this is any good. Considder the path "../../a/b" and the
> meaning of parent and child.
> The only sensible parent is in the middle and we don't even know it's
> name. Children are at both ends the implicit "." or "b".
The parent of '../../a/b' is '../../a'
The parent of '../../a' is '../..'
The parent of '../..' is probably '../../..'
If Beman intended '..' to be the result of the final transformation
above, then we should be using something like pop() to describe it.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk