|
Boost : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-10-25 11:51:36
At 08:45 AM 10/25/2004, Peter Dimov wrote:
>Beman Dawes wrote:
>> At 01:10 PM 10/22/2004, Miro Jurisic wrote:
>>
>>> boost::fs, as far as I understand it, ran into the problem that it
>>> was impossible to sidestep the invariant.
>>
>> No, rather than the error check was on by default. Some people want
>> it off as the default.
>
>I interpret it a little differently: the "error" check provided no value
to
>users;
That's true for some users, but not all users.
> in fact, it "provided" a negative value, which is why most prefer
>"off by default".
Only for the users who don't want to perform the check. For those that do
want the check, it has a positive value.
This in itself does not prove that all possible portability checks do not
>provide value to users, just that this particular check is a net loss.
>
>By saying that "some people want it off as default" you are discounting
the
>results of the experiment, attributing them to personal preference. ;-)
You could attribute the preference to the degree of portability required by
the user's application's but I think it is more than that. Some people
would rather be safe by default, while others would rather error checks
only be applied if explicitly invoked. That seems like a personal
preference to me.
For Unicode strings, it is possible to provide an const_iterator interface
which both guarantees the "valid Unicode" invariant and allows construction
from character streams. That's the important point, if I understand your
postings correctly. And maintenance of the invariant seems more than just a
personal preference; it is a stronger design. So it is a stronger argument
than the filesystem case.
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk