From: Beman Dawes (bdawes_at_[hidden])
Date: 2005-05-08 20:05:46
"Peter Dimov" <pdimov_at_[hidden]> wrote in message
> Beman Dawes wrote:
>>> A hypothetical OS that allows directories to be opened with an
>>> ifstream may reasonably answer true to both is_stream(p) and
>>> is_directory(p). Or maybe not. :-)
>> I think not. Dividing the world into non-overlapping categories is
>> much easier:-)
> It's only easier until an example comes up that doesn't fit the scheme, so
> you are forced to invent meta-categories (also known as "hacks" in some
> category theory circles) such as "other". :-)
> "Capability bits" are cleaner. Is it openable with ifstream? file_bit. Is
> it iteratable with directory_iterator? directory_bit. Does it exist?
I'm only partially convinced. How useful is knowing that you can ifstream a
directory? The only cases I can think of are so system specific that I have
trouble seeing them in the context of Boost.Filesystem.
> When a socket is thrown your way, you just run it by the list and conclude
> that no bit needs to be set.
But that is about the same as having an other_flag, except that the name is
0 instead of other_flag. Giving it a name makes it more obvious that a
return from status() may not have any of the other bits set
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk