
David Abrahams wrote:
FWIW, though I think it's probably a good idea to use base_name as you are suggesting, I was much less attached to the idea of using it to mean what is currently called leaf() than I was opposed to the idea of using it to mean something else, if you catch my drift :-)
Ah! Understood.
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? Although historically basename() and extension() were free functions, my sense is the replacements should be basic_path member functions as they are closely related to the basic_path decomposition functions. Do you have an opinion on that? --Beman